nickstenning/honcho — pull request #26 by nickstenning (2013-02-02 13:16:07+00:00)
Title: Better commandline parsing for `honcho run`

Currently, `honcho run echo '$FOO'` will run "echo $FOO" in a subshell, which
isn't consistent with other Unix tools that prefix arbitrary commandlines
(examples include `env(1)` and `xargs(1)`).

This commit changes the behaviour of `honcho run` to be more consistent with
those tools, so that `honcho run echo '$FOO'` will actually run something
more like

os.execvp(['echo', '$FOO'])

This consistency comes at the cost of an internal inconsistency, namely that
there is no longer a direct parallel between a Procfile containing

foo: echo $FOO

(which will execute in a subshell, and thus expand $FOO) and

honcho run echo $FOO

which will not expand $FOO. I'm not inclined to remove honcho's subshell
execution when parsing Procfiles, due to the frequent necessity of
referencing environment variables (e.g. $PORT) in Procfiles, but I think the
command line interface should be consistent with `env(1)`, `xargs(1)` and
friends.