threads / patch / 26075

patchcompletion: add missing configuration variables

Subject: [PATCH] completion: add missing configuration variables

## tl;dr

14 messages between Dec 15, 2010 and Dec 21, 2010. Diffs are folded; open one to read it.

replies: 13people: 4as markdown or json

Martin von Zweigbergk· Dec 15, 2010, 06:46 UTC · lore

Quite a few configuration variables have been added since 226b343 (completion: add missing configuration variables to _git_config(), 2009-05-03). Add these variables to the Bash completion script.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
---

The color.grep.external option has been deleted. Should it be deleted from here or do we want to help users run e.g. 'git config --unset color.grep.external'? Same goes for add.ignore-errors.

I didn't find any references to 'diff.renameLimit.' even in 98171a0 (bash completion: Sync config variables with their man pages, 2008-12-15) in which it was introduced in the completions script. I hope it was safe to remove it.

Some variables are documented with camelCase but read in all lowercase in the code. Not worth updating the code just for that, is it?

I hope none of the added variables are deprecated. After having a quick look in git-config(1), I think they should not be.

 contrib/completion/git-completion.bash |   67 +++++++++++++++++++++++++++++++-
 1 files changed, 65 insertions(+), 2 deletions(-)
Show changes to contrib/completion/git-completion.bash +65 −2
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 604fa79..1e2e864 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1865,29 +1865,51 @@ _git_config ()
 	esac
 	__gitcomp "
 		add.ignore-errors
+		add.ignoreErrors
+		advice.commitBeforeMerge
+		advice.detachedHead
+		advice.implicitIdentity
+		advice.pushNonFastForward
+		advice.resolveConflict
+		advice.statusHints
 		alias.
+		am.keepcr
 		apply.ignorewhitespace
 		apply.whitespace
 		branch.autosetupmerge
 		branch.autosetuprebase
+		browser.
 		clean.requireForce
 		color.branch
 		color.branch.current
 		color.branch.local
 		color.branch.plain
 		color.branch.remote
+		color.decorate.HEAD
+		color.decorate.branch
+		color.decorate.remoteBranch
+		color.decorate.stash
+		color.decorate.tag
 		color.diff
 		color.diff.commit
 		color.diff.frag
+		color.diff.func
 		color.diff.meta
 		color.diff.new
 		color.diff.old
 		color.diff.plain
 		color.diff.whitespace
 		color.grep
+		color.grep.context
 		color.grep.external
+		color.grep.filename
+		color.grep.function
+		color.grep.linenumber
 		color.grep.match
+		color.grep.selected
+		color.grep.separator
 		color.interactive
+		color.interactive.error
 		color.interactive.header
 		color.interactive.help
 		color.interactive.prompt
@@ -1901,21 +1923,29 @@ _git_config ()
 		color.status.untracked
 		color.status.updated
 		color.ui
+		commit.status
 		commit.template
+		core.abbrevguard
+		core.askpass
+		core.attributesfile
 		core.autocrlf
 		core.bare
+		core.bigFileThreshold
 		core.compression
 		core.createObject
 		core.deltaBaseCacheLimit
 		core.editor
+		core.eol
 		core.excludesfile
 		core.fileMode
 		core.fsyncobjectfiles
 		core.gitProxy
 		core.ignoreCygwinFSTricks
 		core.ignoreStat
+		core.ignorecase
 		core.logAllRefUpdates
 		core.loosecompression
+		core.notesRef
 		core.packedGitLimit
 		core.packedGitWindowSize
 		core.pager
@@ -1925,6 +1955,7 @@ _git_config ()
 		core.repositoryFormatVersion
 		core.safecrlf
 		core.sharedRepository
+		core.sparseCheckout
 		core.symlinks
 		core.trustctime
 		core.warnAmbiguousRefs
@@ -1932,9 +1963,10 @@ _git_config ()
 		core.worktree
 		diff.autorefreshindex
 		diff.external
+		diff.ignoreSubmodules
 		diff.mnemonicprefix
+		diff.noprefix
 		diff.renameLimit
-		diff.renameLimit.
 		diff.renames
 		diff.suppressBlankEmpty
 		diff.tool
@@ -1952,6 +1984,8 @@ _git_config ()
 		format.subjectprefix
 		format.suffix
 		format.thread
+		format.to
+		gc.
 		gc.aggressiveWindow
 		gc.auto
 		gc.autopacklimit
@@ -1989,15 +2023,20 @@ _git_config ()
 		http.lowSpeedLimit
 		http.lowSpeedTime
 		http.maxRequests
+		http.minSessions
 		http.noEPSV
+		http.postBuffer
 		http.proxy
 		http.sslCAInfo
 		http.sslCAPath
 		http.sslCert
+		http.sslCertPasswordProtected
 		http.sslKey
 		http.sslVerify
+		http.useragent
 		i18n.commitEncoding
 		i18n.logOutputEncoding
+		imap.authMethod
 		imap.folder
 		imap.host
 		imap.pass
@@ -2006,6 +2045,7 @@ _git_config ()
 		imap.sslverify
 		imap.tunnel
 		imap.user
+		init.templatedir
 		instaweb.browser
 		instaweb.httpd
 		instaweb.local
@@ -2013,19 +2053,29 @@ _git_config ()
 		instaweb.port
 		interactive.singlekey
 		log.date
+		log.decorate
 		log.showroot
 		mailmap.file
 		man.
 		man.viewer
+		merge.
 		merge.conflictstyle
 		merge.log
 		merge.renameLimit
+		merge.renormalize
 		merge.stat
 		merge.tool
 		merge.verbosity
 		mergetool.
 		mergetool.keepBackup
+		mergetool.keepTemporaries
 		mergetool.prompt
+		notes.displayRef
+		notes.rewrite.
+		notes.rewrite.amend
+		notes.rewrite.rebase
+		notes.rewriteMode
+		notes.rewriteRef
 		pack.compression
 		pack.deltaCacheLimit
 		pack.deltaCacheSize
@@ -2036,31 +2086,42 @@ _git_config ()
 		pack.window
 		pack.windowMemory
 		pager.
+		pretty.
 		pull.octopus
 		pull.twohead
 		push.default
+		rebase.autosquash
 		rebase.stat
+		receive.autogc
 		receive.denyCurrentBranch
+		receive.denyDeleteCurrent
 		receive.denyDeletes
 		receive.denyNonFastForwards
 		receive.fsckObjects
 		receive.unpackLimit
+		receive.updateserverinfo
+		remotes.
 		repack.usedeltabaseoffset
 		rerere.autoupdate
 		rerere.enabled
+		sendemail.
 		sendemail.aliasesfile
-		sendemail.aliasesfiletype
+		sendemail.aliasfiletype
 		sendemail.bcc
 		sendemail.cc
 		sendemail.cccmd
 		sendemail.chainreplyto
 		sendemail.confirm
 		sendemail.envelopesender
+		sendemail.from
+		sendemail.identity
 		sendemail.multiedit
 		sendemail.signedoffbycc
+		sendemail.smtpdomain
 		sendemail.smtpencryption
 		sendemail.smtppass
 		sendemail.smtpserver
+		sendemail.smtpserveroption
 		sendemail.smtpserverport
 		sendemail.smtpuser
 		sendemail.suppresscc
@@ -2071,6 +2132,8 @@ _git_config ()
 		showbranch.default
 		status.relativePaths
 		status.showUntrackedFiles
+		status.submodulesummary
+		submodule.
 		tar.umask
 		transfer.unpackLimit
 		url.
-- 
1.7.3.2.864.gbbb96
Jeff King· Dec 15, 2010, 13:00 UTC · re: Martin von Zweigbergk · lore

Re: [PATCH] completion: add missing configuration variables

On Wed, Dec 15, 2010 at 07:46:53AM +0100, Martin von Zweigbergk wrote:
> The color.grep.external option has been deleted. Should it be deleted
> from here or do we want to help users run e.g.
> 'git config --unset color.grep.external'? Same goes for
> add.ignore-errors.

IMHO, they should go away. People who have them can figure out how to delete them, but it is more important not to advertise them to people who are adding variables.

As an aside, I would think "--unset" should actually choose from the set of configured variables for completion (i.e., "git config --list | cut -d= -f1"). But that would obviously be a separate patch.

> I didn't find any references to 'diff.renameLimit.' even in 98171a0
> (bash completion: Sync config variables with their man pages,
> 2008-12-15) in which it was introduced in the completions script. I
> hope it was safe to remove it.
Yeah, I don't think it has ever existed.
> Some variables are documented with camelCase but read in all
> lowercase in the code. Not worth updating the code just for that, is
> it?

All variables are case-insensitive. The config parser down-cases them, so all code should treat tham as all-lowercase. However, we tend to document them as camelCase for readability.

The completion code should match case-insensitively, too. It doesn't seem to now, but I suspect it is not a problem in practice because the first camelCase word is often enough to get a match, and is lowercase itself.

> I hope none of the added variables are deprecated. After having a
> quick look in git-config(1), I think they should not be.
All looked OK from my quick glance.
One note:
Show 9 quoted lines
>  		color.diff
>  		color.diff.commit
>  		color.diff.frag
> +		color.diff.func
>  		color.diff.meta
>  		color.diff.new
>  		color.diff.old
>  		color.diff.plain
>  		color.diff.whitespace
We have color.diff.branch coming soon (I think it is in 'next' now).
-Peff
Martin von Zweigbergk· Dec 15, 2010, 19:44 UTC · re: Jeff King · lore

Re: [PATCH] completion: add missing configuration variables

On Wed, 15 Dec 2010, Jeff King wrote:
Show 10 quoted lines
> On Wed, Dec 15, 2010 at 07:46:53AM +0100, Martin von Zweigbergk wrote:
> 
> > The color.grep.external option has been deleted. Should it be deleted
> > from here or do we want to help users run e.g.
> > 'git config --unset color.grep.external'? Same goes for
> > add.ignore-errors.
> 
> IMHO, they should go away. People who have them can figure out how to
> delete them, but it is more important not to advertise them to people
> who are adding variables.

Sounds good to me. If no one disagrees, I'll send an updated patch in a day or two, removing both color.grep.external and add.ignore-errors.

> As an aside, I would think "--unset" should actually choose from the set
> of configured variables for completion (i.e., "git config --list | cut
> -d= -f1"). But that would obviously be a separate patch.
Good point. I'll put it on my todo.
Show 5 quoted lines
> > Some variables are documented with camelCase but read in all
> > lowercase in the code. Not worth updating the code just for that, is
> > it?
> 
> All variables are case-insensitive.
That I knew...
> The config parser down-cases them,
> so all code should treat tham as all-lowercase.

... but not that. Thanks. I could/should have figured that out if I had noticed that *all* of them were lowercase in the code :-P.

Show 13 quoted lines
> One note:
> 
> >  		color.diff
> >  		color.diff.commit
> >  		color.diff.frag
> > +		color.diff.func
> >  		color.diff.meta
> >  		color.diff.new
> >  		color.diff.old
> >  		color.diff.plain
> >  		color.diff.whitespace
> 
> We have color.diff.branch coming soon (I think it is in 'next' now).

Strictly speaking, that note is for Junio to think of when he merges, right? But adding it early is pretty harmless and if that relieves him of some work, I would be happy to add it in the next submission of this patch. Is that better?

Thinking a bit more, maybe what you are suggesting is that I base the next revision of this patch on the branch that adds that variable?

/Martin
Jeff King· Dec 16, 2010, 04:23 UTC · re: Martin von Zweigbergk · lore

Re: [PATCH] completion: add missing configuration variables

On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:
Show 21 quoted lines
> > One note:
> > 
> > >  		color.diff
> > >  		color.diff.commit
> > >  		color.diff.frag
> > > +		color.diff.func
> > >  		color.diff.meta
> > >  		color.diff.new
> > >  		color.diff.old
> > >  		color.diff.plain
> > >  		color.diff.whitespace
> > 
> > We have color.diff.branch coming soon (I think it is in 'next' now).
> 
> Strictly speaking, that note is for Junio to think of when he merges,
> right? But adding it early is pretty harmless and if that relieves him
> of some work, I would be happy to add it in the next submission of
> this patch. Is that better?
> 
> Thinking a bit more, maybe what you are suggesting is that I base the
> next revision of this patch on the branch that adds that variable?

The "correct" thing to do from a topic branch standpoint is to submit this patch without it as its own topic, submit a patch with just color.diff.branch on top of the other topic, and then the merge resolution will include both sets.

In this case, it might be OK to just start shipping color.diff.branch in the completion list. It doesn't hurt anything to have the extra completion before the feature is in, and the feature seems very likely to make it in soon.

But I'll let Junio decide how meticulous about history he wants to be. :)

-Peff
Junio C Hamano· Dec 17, 2010, 20:52 UTC · re: Jeff King · lore

Re: [PATCH] completion: add missing configuration variables

Jeff King <peff@peff.net> writes:
Show 20 quoted lines
> On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:
>
>> > One note:
>> > 
>> > >  		color.diff
>> > >  		color.diff.commit
>> > >  		color.diff.frag
>> > > +		color.diff.func
>> > >  		color.diff.meta
>> > >  		color.diff.new
>> > >  		color.diff.old
>> > >  		color.diff.plain
>> > >  		color.diff.whitespace
>> > 
>> > We have color.diff.branch coming soon (I think it is in 'next' now).
>
> The "correct" thing to do from a topic branch standpoint is to submit
> this patch without it as its own topic, submit a patch with just
> color.diff.branch on top of the other topic, and then the merge
> resolution will include both sets.
Perhaps, if we had color.diff.branch ;-).
Show 6 quoted lines
> In this case, it might be OK to just start shipping color.diff.branch in
> the completion list. It doesn't hurt anything to have the extra
> completion before the feature is in, and the feature seems very likely
> to make it in soon.
>
> But I'll let Junio decide how meticulous about history he wants to be.

Well, in this case, probably the right thing to do is to ignore this addition to completion as the lowest priority item for now, wait for other changes that add or modify the set of configuration variables to land on 'master', and then resubmit a single patch.

Yes, merge is wonderful and easy, but it is merely a tool to help coordination between developers (the ones who add code to understand new variables, the others who add completion to help spell the new variables), not a replacement. And orderly submission of patches that are related and have dependencies is a prime example of such coordination.

Jeff King· Dec 17, 2010, 21:04 UTC · re: Junio C Hamano · lore

Re: [PATCH] completion: add missing configuration variables

On Fri, Dec 17, 2010 at 12:52:07PM -0800, Junio C Hamano wrote:
Show 8 quoted lines
> >> > We have color.diff.branch coming soon (I think it is in 'next' now).
> >
> > The "correct" thing to do from a topic branch standpoint is to submit
> > this patch without it as its own topic, submit a patch with just
> > color.diff.branch on top of the other topic, and then the merge
> > resolution will include both sets.
> 
> Perhaps, if we had color.diff.branch ;-).
Urgh. Color.status.branch is what I meant all along.
Show 7 quoted lines
> >
> > But I'll let Junio decide how meticulous about history he wants to be.
> 
> Well, in this case, probably the right thing to do is to ignore this
> addition to completion as the lowest priority item for now, wait for other
> changes that add or modify the set of configuration variables to land on
> 'master', and then resubmit a single patch.
Sure, that is reasonable to me.
Show 5 quoted lines
> Yes, merge is wonderful and easy, but it is merely a tool to help
> coordination between developers (the ones who add code to understand new
> variables, the others who add completion to help spell the new variables),
> not a replacement.  And orderly submission of patches that are related and
> have dependencies is a prime example of such coordination.

Well, yes. But on the other hand, they are two totally separate topics; they just happen to both have a component of "add stuff to config completion". And don't you always preach about not holding one topic hostage by introducing an unnecessary dependency on another?

I don't think it is a huge deal in this case, but Martin's patch could theoretically be "maint" material (I say theoretically because I didn't actually check whether any of the added completions were for things not yet in maint). Basing it on something in "next", even if you wait until it's in "master", makes that impossible.

But this is all philosphical wankery. I think any of the solutions is fine.

-Peff
SZEDER Gábor· Dec 16, 2010, 12:42 UTC · re: Martin von Zweigbergk · lore

Re: [PATCH] completion: add missing configuration variables

Hi,
On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:
Show 6 quoted lines
> On Wed, 15 Dec 2010, Jeff King wrote:
> > As an aside, I would think "--unset" should actually choose from the set
> > of configured variables for completion (i.e., "git config --list | cut
> > -d= -f1"). But that would obviously be a separate patch.
> 
> Good point. I'll put it on my todo.

It already works that way since 0065236 (bash completion: complete variable names for "git config" with options, 2009-05-08).

Best, Gábor

Martin von Zweigbergk· Dec 16, 2010, 07:14 UTC · re: SZEDER Gábor · lore

Re: [PATCH] completion: add missing configuration variables

On Thu, 16 Dec 2010, SZEDER G?bor wrote:
Show 13 quoted lines
> Hi,
> 
> 
> On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:
> > On Wed, 15 Dec 2010, Jeff King wrote:
> > > As an aside, I would think "--unset" should actually choose from the set
> > > of configured variables for completion (i.e., "git config --list | cut
> > > -d= -f1"). But that would obviously be a separate patch.
> > 
> > Good point. I'll put it on my todo.
> 
> It already works that way since 0065236 (bash completion: complete
> variable names for "git config" with options, 2009-05-08).

Nice. Thanks. Removed from my todo :-). Then I don't see any reason at all to keep color.grep.external and add.ignore-errors.

/Martin
Jeff King· Dec 16, 2010, 14:28 UTC · re: Martin von Zweigbergk · lore

Re: [PATCH] completion: add missing configuration variables

On Thu, Dec 16, 2010 at 08:14:54AM +0100, Martin von Zweigbergk wrote:
Show 13 quoted lines
> > On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:
> > > On Wed, 15 Dec 2010, Jeff King wrote:
> > > > As an aside, I would think "--unset" should actually choose from the set
> > > > of configured variables for completion (i.e., "git config --list | cut
> > > > -d= -f1"). But that would obviously be a separate patch.
> > > 
> > > Good point. I'll put it on my todo.
> > 
> > It already works that way since 0065236 (bash completion: complete
> > variable names for "git config" with options, 2009-05-08).
> 
> Nice. Thanks. Removed from my todo :-). Then I don't see any reason at
> all to keep color.grep.external and add.ignore-errors.
Agreed. Thanks.
-Peff
Junio C Hamano· Dec 17, 2010, 20:44 UTC · re: Jeff King · lore

Re: [PATCH] completion: add missing configuration variables

Jeff King <peff@peff.net> writes:
> All variables are case-insensitive. The config parser down-cases them,
> so all code should treat tham as all-lowercase. However, we tend to
> document them as camelCase for readability.
Careful.  The second level of three-level names is supposed to be usable
for user defined names (e.g. names of branches and remotes) and I think
the completion code should not downcase it.
 
Jeff King· Dec 17, 2010, 21:21 UTC · re: Junio C Hamano · lore

Re: [PATCH] completion: add missing configuration variables

On Fri, Dec 17, 2010 at 12:44:36PM -0800, Junio C Hamano wrote:
Show 7 quoted lines
> > All variables are case-insensitive. The config parser down-cases them,
> > so all code should treat tham as all-lowercase. However, we tend to
> > document them as camelCase for readability.
> 
> Careful.  The second level of three-level names is supposed to be usable
> for user defined names (e.g. names of branches and remotes) and I think
> the completion code should not downcase it.

Yeah, good point. It is not even "second level" in the parsing code, though, since that code sees:

  [first "second"]
    third
and not
  first.second.third

IOW, the second one is ambiguous in the face of an internal dot. So if I had something like:

  [Foo "Bar.Baz"]
    Bleep = true

then "Foo" and "Bleep" are case-insensitive, but both "Bar" and "Baz" are not. So in terms of dotted components, the rule is "the first and last dotted components are case-insensitive, and middle ones are case-sensitive". At least with respect to my simple test of calling "git config x.y.z". I'm afraid if I look too deeply I might discover some inconsistency. :)

-Peff
Martin von Zweigbergk· Dec 20, 2010, 15:18 UTC · re: Martin von Zweigbergk · lore

[PATCH v2] completion: add missing configuration variables

Quite a few configuration variables have been added since 226b343 (completion: add missing configuration variables to _git_config(), 2009-05-03). Add these variables to the Bash completion script.

Also remove the obsolete 'add.ignore-errors' and 'color.grep.external', as well as 'diff.renameLimit.', which never existed and rename the misspelled 'sendemail.aliasesfiletype'.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
---
Changes since previous version:
Removed 'add.ignore-errors' and 'color.grep.external'.

Added 'fetch.recurseSubmodules', which has entered master since last round.

(Still based on master.)
 contrib/completion/git-completion.bash |   70 ++++++++++++++++++++++++++++++--
 1 files changed, 66 insertions(+), 4 deletions(-)
Show changes to contrib/completion/git-completion.bash +66 −4
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 604fa79..25c4314 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1864,30 +1864,50 @@ _git_config ()
 		;;
 	esac
 	__gitcomp "
-		add.ignore-errors
+		add.ignoreErrors
+		advice.commitBeforeMerge
+		advice.detachedHead
+		advice.implicitIdentity
+		advice.pushNonFastForward
+		advice.resolveConflict
+		advice.statusHints
 		alias.
+		am.keepcr
 		apply.ignorewhitespace
 		apply.whitespace
 		branch.autosetupmerge
 		branch.autosetuprebase
+		browser.
 		clean.requireForce
 		color.branch
 		color.branch.current
 		color.branch.local
 		color.branch.plain
 		color.branch.remote
+		color.decorate.HEAD
+		color.decorate.branch
+		color.decorate.remoteBranch
+		color.decorate.stash
+		color.decorate.tag
 		color.diff
 		color.diff.commit
 		color.diff.frag
+		color.diff.func
 		color.diff.meta
 		color.diff.new
 		color.diff.old
 		color.diff.plain
 		color.diff.whitespace
 		color.grep
-		color.grep.external
+		color.grep.context
+		color.grep.filename
+		color.grep.function
+		color.grep.linenumber
 		color.grep.match
+		color.grep.selected
+		color.grep.separator
 		color.interactive
+		color.interactive.error
 		color.interactive.header
 		color.interactive.help
 		color.interactive.prompt
@@ -1901,21 +1921,29 @@ _git_config ()
 		color.status.untracked
 		color.status.updated
 		color.ui
+		commit.status
 		commit.template
+		core.abbrevguard
+		core.askpass
+		core.attributesfile
 		core.autocrlf
 		core.bare
+		core.bigFileThreshold
 		core.compression
 		core.createObject
 		core.deltaBaseCacheLimit
 		core.editor
+		core.eol
 		core.excludesfile
 		core.fileMode
 		core.fsyncobjectfiles
 		core.gitProxy
 		core.ignoreCygwinFSTricks
 		core.ignoreStat
+		core.ignorecase
 		core.logAllRefUpdates
 		core.loosecompression
+		core.notesRef
 		core.packedGitLimit
 		core.packedGitWindowSize
 		core.pager
@@ -1925,6 +1953,7 @@ _git_config ()
 		core.repositoryFormatVersion
 		core.safecrlf
 		core.sharedRepository
+		core.sparseCheckout
 		core.symlinks
 		core.trustctime
 		core.warnAmbiguousRefs
@@ -1932,15 +1961,17 @@ _git_config ()
 		core.worktree
 		diff.autorefreshindex
 		diff.external
+		diff.ignoreSubmodules
 		diff.mnemonicprefix
+		diff.noprefix
 		diff.renameLimit
-		diff.renameLimit.
 		diff.renames
 		diff.suppressBlankEmpty
 		diff.tool
 		diff.wordRegex
 		difftool.
 		difftool.prompt
+		fetch.recurseSubmodules
 		fetch.unpackLimit
 		format.attach
 		format.cc
@@ -1952,6 +1983,8 @@ _git_config ()
 		format.subjectprefix
 		format.suffix
 		format.thread
+		format.to
+		gc.
 		gc.aggressiveWindow
 		gc.auto
 		gc.autopacklimit
@@ -1989,15 +2022,20 @@ _git_config ()
 		http.lowSpeedLimit
 		http.lowSpeedTime
 		http.maxRequests
+		http.minSessions
 		http.noEPSV
+		http.postBuffer
 		http.proxy
 		http.sslCAInfo
 		http.sslCAPath
 		http.sslCert
+		http.sslCertPasswordProtected
 		http.sslKey
 		http.sslVerify
+		http.useragent
 		i18n.commitEncoding
 		i18n.logOutputEncoding
+		imap.authMethod
 		imap.folder
 		imap.host
 		imap.pass
@@ -2006,6 +2044,7 @@ _git_config ()
 		imap.sslverify
 		imap.tunnel
 		imap.user
+		init.templatedir
 		instaweb.browser
 		instaweb.httpd
 		instaweb.local
@@ -2013,19 +2052,29 @@ _git_config ()
 		instaweb.port
 		interactive.singlekey
 		log.date
+		log.decorate
 		log.showroot
 		mailmap.file
 		man.
 		man.viewer
+		merge.
 		merge.conflictstyle
 		merge.log
 		merge.renameLimit
+		merge.renormalize
 		merge.stat
 		merge.tool
 		merge.verbosity
 		mergetool.
 		mergetool.keepBackup
+		mergetool.keepTemporaries
 		mergetool.prompt
+		notes.displayRef
+		notes.rewrite.
+		notes.rewrite.amend
+		notes.rewrite.rebase
+		notes.rewriteMode
+		notes.rewriteRef
 		pack.compression
 		pack.deltaCacheLimit
 		pack.deltaCacheSize
@@ -2036,31 +2085,42 @@ _git_config ()
 		pack.window
 		pack.windowMemory
 		pager.
+		pretty.
 		pull.octopus
 		pull.twohead
 		push.default
+		rebase.autosquash
 		rebase.stat
+		receive.autogc
 		receive.denyCurrentBranch
+		receive.denyDeleteCurrent
 		receive.denyDeletes
 		receive.denyNonFastForwards
 		receive.fsckObjects
 		receive.unpackLimit
+		receive.updateserverinfo
+		remotes.
 		repack.usedeltabaseoffset
 		rerere.autoupdate
 		rerere.enabled
+		sendemail.
 		sendemail.aliasesfile
-		sendemail.aliasesfiletype
+		sendemail.aliasfiletype
 		sendemail.bcc
 		sendemail.cc
 		sendemail.cccmd
 		sendemail.chainreplyto
 		sendemail.confirm
 		sendemail.envelopesender
+		sendemail.from
+		sendemail.identity
 		sendemail.multiedit
 		sendemail.signedoffbycc
+		sendemail.smtpdomain
 		sendemail.smtpencryption
 		sendemail.smtppass
 		sendemail.smtpserver
+		sendemail.smtpserveroption
 		sendemail.smtpserverport
 		sendemail.smtpuser
 		sendemail.suppresscc
@@ -2071,6 +2131,8 @@ _git_config ()
 		showbranch.default
 		status.relativePaths
 		status.showUntrackedFiles
+		status.submodulesummary
+		submodule.
 		tar.umask
 		transfer.unpackLimit
 		url.
-- 
1.7.3.2.864.gbbb96
Jeff King· Dec 20, 2010, 21:20 UTC · re: Martin von Zweigbergk · lore

Re: [PATCH v2] completion: add missing configuration variables

On Mon, Dec 20, 2010 at 04:18:25PM +0100, Martin von Zweigbergk wrote:
Show 18 quoted lines
> Quite a few configuration variables have been added since 226b343
> (completion: add missing configuration variables to _git_config(),
> 2009-05-03). Add these variables to the Bash completion script.
> 
> Also remove the obsolete 'add.ignore-errors' and
> 'color.grep.external', as well as 'diff.renameLimit.', which never
> existed and rename the misspelled 'sendemail.aliasesfiletype'.
> 
> Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
> ---
> Changes since previous version:
> 
> Removed 'add.ignore-errors' and 'color.grep.external'.
> 
> Added 'fetch.recurseSubmodules', which has entered master since last
> round.
> 
> (Still based on master.)

Based on our prior discussion, I think this can go in, and all of the other issues can be left for future patches if somebody wants to address them.

Acked-by: Jeff King <peff@peff.net>
-Peff

← back to recent threads