Commands Refactor Part 2

We split #196 in two parts. this is the second. (#262 is the first). This builds on all the changes to commands/.
Yep. It's all interleaved. Certain things probably shouldn't be possible :)

—
Sent from Mailbox

On Mon, Nov 10, 2014 at 7:40 PM, Brian Tiger Chow
<notifications@github.com> wrote:

>> +
>> +	Options: []cmds.Option{
>> +		cmds.Option{[]string{"bits", "b"}, cmds.Int,
>> +			"Number of bits to use in the generated RSA private key (defaults to 4096)"},
>> +		cmds.Option{[]string{"passphrase", "p"}, cmds.String,
>> +			"Passphrase for encrypting the private key"},
>> +		cmds.Option{[]string{"force", "f"}, cmds.Bool,
>> +			"Overwrite existing config (if it exists)"},
>> +		cmds.Option{[]string{"datastore", "d"}, cmds.String,
>> +			"Location for the IPFS data store"},
>> +	},
>> +	Run: func(res cmds.Response, req cmds.Request) {
>> +
>> +		arg, found := req.Option("d")
>> +		dspath, ok := arg.(string)
>> +		if found && !ok {
> On the daemon, isn't it possible for other concurrent operations to be in progress while a command is being executed?
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/jbenet/go-ipfs/pull/263/files#r20130499