Re: git.c option parsing
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 17, 2007, 08:48 UTC
- Message-ID
- <7vsl21aeqw.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <F6F3247E-4E71-4977-9626-F0571278E1E6@wincent.com>
Wincent Colaiuta <win@wincent.com> writes:
> Of course, the above plan will only work for builtins, not for > scripts. An additional step would be needed to enable scripts to > handle these options; perhaps teaching "git rev-parse" something...
As long as special options stay special and we make a rule not to allow any subcommand to assign its own meaning to them, the git wrapper can lookahead and reorder, when seeing a command line:
git scripted-command --special
into
git --special scripted-command
And that approach would work well for built-ins as well, I would imagine.
There is one minor detail, though. There could be an option-parameter that is literally --special. E.g.
git grep -e --no-paginate
should not be reordered to
git --no-paginate grep -e