coreos/etcdctl — pull request #21 by benbjohnson (2013-11-22 17:12:38+00:00)
Title: Cleanup

This is a fairly massive refactor. Here's what changed:

1. Refactored to use [cli.go](https://github.com/codegangsta/cli).

1. Move commands to the `command` package.

1. Wrap command handlers with `command.handle()` to perform formatting, error handling, and curl output.

1. Changed `--format` to `--output, -o` with 2 options: `json` and `simple` (default)

1. Debug output (i.e. curl output) goes to `STDERR` instead of `STDOUT` now.

1. Remove `compareAndSwap`; move functionality to `set` using the `--swap-with-index` and `--swap-with-value` flags.

1. Moved `getAll`, `deleteAll`, and `watchAll` to `get`, `delete`, and `watch`, respectively. Use `--recursive` to distinguish.

1. Update `README` to reflect changes.

1. Version information is `etcdctl --version` except it includes the application name now.

1. App-level help information can be found with: `etcdctl <--help | -h>`.

1. Command-level help can be found with: `etcdctl <--help, -h>`.

Trello: https://trello.com/c/sGLEv2KH

/cc @philips @xiangli-cmu