From: Jeff King Date: Wed, 18 Jun 2008 03:30:10 GMT Subject: Re: [PATCH 1/2] parse_options: Add flag to prevent errors for further processing Message-ID: <20080618033010.GA19657@sigill.intra.peff.net> In-Reply-To: <7v1w2v2zsh.fsf@gitster.siamese.dyndns.org> On Tue, Jun 17, 2008 at 08:21:50PM -0700, Junio C Hamano wrote: > Shawn Bohrer writes: > > > This adds the PARSE_OPT_NO_ERROR_ON_UNKNOWN flag which prevents > > parse_options() from erroring out when it finds an unknown option, > > and leaves the original command and unknown options in argv. > > I have to say that this conceptually is broken. How would you tell > without knowing what "--flag" is if the thing in argv[] after that is a > parameter to that option or the end of the options? Agreed. I was just about to write the same thing. As it happens, I think in the case of git-shortlog that there is not likely to be such a parameter. The only three I see looking over setup_revisions are "-n" (which is masked by shortlog anyway), "--default", and "-U" (which one would never need with shortlog). However I am still opposed to the concept, since its presence as a parseopt flag implies that it isn't fundamentally broken. I think the only right way to accomplish this is to convert the revision and diff parameters into a parseopt-understandable format. -Peff