From: Jonathan Nieder Date: Sun, 10 Apr 2011 19:21:54 GMT Subject: Re: [PATCH 03/11] revert: Introduce a struct to parse command-line options into Message-ID: <20110410192154.GB28163@elie> In-Reply-To: <1302448317-32387-4-git-send-email-artagnon@gmail.com> Ramkumar Ramachandra wrote: > [Subject: revert: Introduce a struct to parse command-line options into] > > Signed-off-by: Ramkumar Ramachandra This gives a hint of another way to avoid the usage() trouble mentioned in patch 1: it might be possible to let the caller take care of parsing arguments. > --- a/builtin/revert.c > +++ b/builtin/revert.c > @@ -35,17 +35,27 @@ static const char * const cherry_pick_usage[] = { > NULL > }; > > -static int edit, no_replay, no_commit, mainline, signoff, allow_ff; > -static enum { REVERT, CHERRY_PICK } action; > -static int commit_argc; > -static const char **commit_argv; > -static int allow_rerere_auto; > > +static struct { > + enum { REVERT, CHERRY_PICK } action; That would require giving this struct a name, so it can be passed around. Not a bad idea anyway imho since then a person reading top-to-bottom is not left in suspense: struct cherry_pick_opts { enum { REVERT, CHERRY_PICK } action; unsigned edit:1; unsigned no_replay:1; ... };