Subject: Re: [PATCH 1/2] parse-options: Add support for dumping out long options

From: Stephen Boyd <[email-masked]>
Date: Thu, 12 Apr 2012 00:12:32 -0700

On 04/11/2012 07:06 AM, SZEDER Gábor wrote:
> On Wed, Apr 11, 2012 at 03:29:24AM -0700, Stephen Boyd wrote:
>> The bash completion script wants to know what the long options are for a
>> certain command at runtime. Add a magical long option that nobody could
>> possibly ever use (--dump-raw-long-options) to get this information.
>>
>> Some example output:
>>
>>  $ git clone --dump-raw-long-options
>>  --no-verbose --no-quiet --progress --no-progress --no-checkout
>>  --checkout --bare --no-bare --mirror --no-mirror --local --no-local
>>  --no-hardlinks --hardlinks --shared --no-shared --recursive
>>  --no-recursive --recurse-submodules --no-recurse-submodules --template=
>>  --no-template --reference= --no-reference --origin= --no-origin
>>  --branch= --no-branch --upload-pack= --no-upload-pack --depth=
>>  --no-depth --single-branch --no-single-branch --separate-git-dir=
>>  --no-separate-git-dir --config= --no-config
>>
> 
> I think this is a good idea; there are many completion functions that
> fell behind and lack an option or two.
> 
> However, in the completion script we deliberately miss options like
> '--force', but with your series such options will be offered, too.
> 

Hm.. I meant to say something about that in the commit text. I'm willing
to live with wading through some more options when I tab complete if it
means the script never falls out of date with my git installation.

I can envision us putting more smarts into the parse options code to
hide certain options from the raw dump but I'm not sure how useful that
is. Do we need that?