From: Junio C Hamano Date: Mon, 17 Dec 2007 08:48:23 GMT Subject: Re: git.c option parsing Message-ID: <7vsl21aeqw.fsf@gitster.siamese.dyndns.org> In-Reply-To: Wincent Colaiuta 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