{"thread":{"id":"26075","subject":"[PATCH] completion: add missing configuration variables","startedAt":"2010-12-15T06:46:53Z","lastAt":"2010-12-21T01:22:03Z","messageCount":14,"participants":["Martin von Zweigbergk","Jeff King","SZEDER Gábor","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"158157","messageId":"1292395613-12859-1-git-send-email-martin.von.zweigbergk@gmail.com","threadId":"26075","inReplyTo":null,"subject":"[PATCH] completion: add missing configuration variables","fromName":"Martin von Zweigbergk","fromEmail":"martin.von.zweigbergk@gmail.com","sentAt":"2010-12-15T06:46:53Z","receivedAt":"2010-12-15T06:46:53Z","isPatch":true,"sender":{"key":"martinvonz@gmail.com","avatar":"https://avatars.githubusercontent.com/u/891642?v=4"},"body":"Quite a few configuration variables have been added since 226b343\n(completion: add missing configuration variables to _git_config(),\n2009-05-03). Add these variables to the Bash completion script.\n\nSigned-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>\n---\n\nThe color.grep.external option has been deleted. Should it be deleted\nfrom here or do we want to help users run e.g.\n'git config --unset color.grep.external'? Same goes for\nadd.ignore-errors.\n\nI didn't find any references to 'diff.renameLimit.' even in 98171a0\n(bash completion: Sync config variables with their man pages,\n2008-12-15) in which it was introduced in the completions script. I\nhope it was safe to remove it.\n\nSome variables are documented with camelCase but read in all\nlowercase in the code. Not worth updating the code just for that, is\nit?\n\nI hope none of the added variables are deprecated. After having a\nquick look in git-config(1), I think they should not be.\n\n contrib/completion/git-completion.bash |   67 +++++++++++++++++++++++++++++++-\n 1 files changed, 65 insertions(+), 2 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 604fa79..1e2e864 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1865,29 +1865,51 @@ _git_config ()\n \tesac\n \t__gitcomp \"\n \t\tadd.ignore-errors\n+\t\tadd.ignoreErrors\n+\t\tadvice.commitBeforeMerge\n+\t\tadvice.detachedHead\n+\t\tadvice.implicitIdentity\n+\t\tadvice.pushNonFastForward\n+\t\tadvice.resolveConflict\n+\t\tadvice.statusHints\n \t\talias.\n+\t\tam.keepcr\n \t\tapply.ignorewhitespace\n \t\tapply.whitespace\n \t\tbranch.autosetupmerge\n \t\tbranch.autosetuprebase\n+\t\tbrowser.\n \t\tclean.requireForce\n \t\tcolor.branch\n \t\tcolor.branch.current\n \t\tcolor.branch.local\n \t\tcolor.branch.plain\n \t\tcolor.branch.remote\n+\t\tcolor.decorate.HEAD\n+\t\tcolor.decorate.branch\n+\t\tcolor.decorate.remoteBranch\n+\t\tcolor.decorate.stash\n+\t\tcolor.decorate.tag\n \t\tcolor.diff\n \t\tcolor.diff.commit\n \t\tcolor.diff.frag\n+\t\tcolor.diff.func\n \t\tcolor.diff.meta\n \t\tcolor.diff.new\n \t\tcolor.diff.old\n \t\tcolor.diff.plain\n \t\tcolor.diff.whitespace\n \t\tcolor.grep\n+\t\tcolor.grep.context\n \t\tcolor.grep.external\n+\t\tcolor.grep.filename\n+\t\tcolor.grep.function\n+\t\tcolor.grep.linenumber\n \t\tcolor.grep.match\n+\t\tcolor.grep.selected\n+\t\tcolor.grep.separator\n \t\tcolor.interactive\n+\t\tcolor.interactive.error\n \t\tcolor.interactive.header\n \t\tcolor.interactive.help\n \t\tcolor.interactive.prompt\n@@ -1901,21 +1923,29 @@ _git_config ()\n \t\tcolor.status.untracked\n \t\tcolor.status.updated\n \t\tcolor.ui\n+\t\tcommit.status\n \t\tcommit.template\n+\t\tcore.abbrevguard\n+\t\tcore.askpass\n+\t\tcore.attributesfile\n \t\tcore.autocrlf\n \t\tcore.bare\n+\t\tcore.bigFileThreshold\n \t\tcore.compression\n \t\tcore.createObject\n \t\tcore.deltaBaseCacheLimit\n \t\tcore.editor\n+\t\tcore.eol\n \t\tcore.excludesfile\n \t\tcore.fileMode\n \t\tcore.fsyncobjectfiles\n \t\tcore.gitProxy\n \t\tcore.ignoreCygwinFSTricks\n \t\tcore.ignoreStat\n+\t\tcore.ignorecase\n \t\tcore.logAllRefUpdates\n \t\tcore.loosecompression\n+\t\tcore.notesRef\n \t\tcore.packedGitLimit\n \t\tcore.packedGitWindowSize\n \t\tcore.pager\n@@ -1925,6 +1955,7 @@ _git_config ()\n \t\tcore.repositoryFormatVersion\n \t\tcore.safecrlf\n \t\tcore.sharedRepository\n+\t\tcore.sparseCheckout\n \t\tcore.symlinks\n \t\tcore.trustctime\n \t\tcore.warnAmbiguousRefs\n@@ -1932,9 +1963,10 @@ _git_config ()\n \t\tcore.worktree\n \t\tdiff.autorefreshindex\n \t\tdiff.external\n+\t\tdiff.ignoreSubmodules\n \t\tdiff.mnemonicprefix\n+\t\tdiff.noprefix\n \t\tdiff.renameLimit\n-\t\tdiff.renameLimit.\n \t\tdiff.renames\n \t\tdiff.suppressBlankEmpty\n \t\tdiff.tool\n@@ -1952,6 +1984,8 @@ _git_config ()\n \t\tformat.subjectprefix\n \t\tformat.suffix\n \t\tformat.thread\n+\t\tformat.to\n+\t\tgc.\n \t\tgc.aggressiveWindow\n \t\tgc.auto\n \t\tgc.autopacklimit\n@@ -1989,15 +2023,20 @@ _git_config ()\n \t\thttp.lowSpeedLimit\n \t\thttp.lowSpeedTime\n \t\thttp.maxRequests\n+\t\thttp.minSessions\n \t\thttp.noEPSV\n+\t\thttp.postBuffer\n \t\thttp.proxy\n \t\thttp.sslCAInfo\n \t\thttp.sslCAPath\n \t\thttp.sslCert\n+\t\thttp.sslCertPasswordProtected\n \t\thttp.sslKey\n \t\thttp.sslVerify\n+\t\thttp.useragent\n \t\ti18n.commitEncoding\n \t\ti18n.logOutputEncoding\n+\t\timap.authMethod\n \t\timap.folder\n \t\timap.host\n \t\timap.pass\n@@ -2006,6 +2045,7 @@ _git_config ()\n \t\timap.sslverify\n \t\timap.tunnel\n \t\timap.user\n+\t\tinit.templatedir\n \t\tinstaweb.browser\n \t\tinstaweb.httpd\n \t\tinstaweb.local\n@@ -2013,19 +2053,29 @@ _git_config ()\n \t\tinstaweb.port\n \t\tinteractive.singlekey\n \t\tlog.date\n+\t\tlog.decorate\n \t\tlog.showroot\n \t\tmailmap.file\n \t\tman.\n \t\tman.viewer\n+\t\tmerge.\n \t\tmerge.conflictstyle\n \t\tmerge.log\n \t\tmerge.renameLimit\n+\t\tmerge.renormalize\n \t\tmerge.stat\n \t\tmerge.tool\n \t\tmerge.verbosity\n \t\tmergetool.\n \t\tmergetool.keepBackup\n+\t\tmergetool.keepTemporaries\n \t\tmergetool.prompt\n+\t\tnotes.displayRef\n+\t\tnotes.rewrite.\n+\t\tnotes.rewrite.amend\n+\t\tnotes.rewrite.rebase\n+\t\tnotes.rewriteMode\n+\t\tnotes.rewriteRef\n \t\tpack.compression\n \t\tpack.deltaCacheLimit\n \t\tpack.deltaCacheSize\n@@ -2036,31 +2086,42 @@ _git_config ()\n \t\tpack.window\n \t\tpack.windowMemory\n \t\tpager.\n+\t\tpretty.\n \t\tpull.octopus\n \t\tpull.twohead\n \t\tpush.default\n+\t\trebase.autosquash\n \t\trebase.stat\n+\t\treceive.autogc\n \t\treceive.denyCurrentBranch\n+\t\treceive.denyDeleteCurrent\n \t\treceive.denyDeletes\n \t\treceive.denyNonFastForwards\n \t\treceive.fsckObjects\n \t\treceive.unpackLimit\n+\t\treceive.updateserverinfo\n+\t\tremotes.\n \t\trepack.usedeltabaseoffset\n \t\trerere.autoupdate\n \t\trerere.enabled\n+\t\tsendemail.\n \t\tsendemail.aliasesfile\n-\t\tsendemail.aliasesfiletype\n+\t\tsendemail.aliasfiletype\n \t\tsendemail.bcc\n \t\tsendemail.cc\n \t\tsendemail.cccmd\n \t\tsendemail.chainreplyto\n \t\tsendemail.confirm\n \t\tsendemail.envelopesender\n+\t\tsendemail.from\n+\t\tsendemail.identity\n \t\tsendemail.multiedit\n \t\tsendemail.signedoffbycc\n+\t\tsendemail.smtpdomain\n \t\tsendemail.smtpencryption\n \t\tsendemail.smtppass\n \t\tsendemail.smtpserver\n+\t\tsendemail.smtpserveroption\n \t\tsendemail.smtpserverport\n \t\tsendemail.smtpuser\n \t\tsendemail.suppresscc\n@@ -2071,6 +2132,8 @@ _git_config ()\n \t\tshowbranch.default\n \t\tstatus.relativePaths\n \t\tstatus.showUntrackedFiles\n+\t\tstatus.submodulesummary\n+\t\tsubmodule.\n \t\ttar.umask\n \t\ttransfer.unpackLimit\n \t\turl.\n-- \n1.7.3.2.864.gbbb96\n"},{"id":"158158","messageId":"20101215130046.GB25647@sigill.intra.peff.net","threadId":"26075","inReplyTo":"1292395613-12859-1-git-send-email-martin.von.zweigbergk@gmail.com","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-12-15T13:00:47Z","receivedAt":"2010-12-15T13:00:47Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Dec 15, 2010 at 07:46:53AM +0100, Martin von Zweigbergk wrote:\n\n> The color.grep.external option has been deleted. Should it be deleted\n> from here or do we want to help users run e.g.\n> 'git config --unset color.grep.external'? Same goes for\n> add.ignore-errors.\n\nIMHO, they should go away. People who have them can figure out how to\ndelete them, but it is more important not to advertise them to people\nwho are adding variables.\n\nAs an aside, I would think \"--unset\" should actually choose from the set\nof configured variables for completion (i.e., \"git config --list | cut\n-d= -f1\"). But that would obviously be a separate patch.\n\n> I didn't find any references to 'diff.renameLimit.' even in 98171a0\n> (bash completion: Sync config variables with their man pages,\n> 2008-12-15) in which it was introduced in the completions script. I\n> hope it was safe to remove it.\n\nYeah, I don't think it has ever existed.\n\n> Some variables are documented with camelCase but read in all\n> lowercase in the code. Not worth updating the code just for that, is\n> it?\n\nAll variables are case-insensitive. The config parser down-cases them,\nso all code should treat tham as all-lowercase. However, we tend to\ndocument them as camelCase for readability.\n\nThe completion code should match case-insensitively, too. It doesn't\nseem to now, but I suspect it is not a problem in practice because the\nfirst camelCase word is often enough to get a match, and is lowercase\nitself.\n\n> I hope none of the added variables are deprecated. After having a\n> quick look in git-config(1), I think they should not be.\n\nAll looked OK from my quick glance.\n\nOne note:\n\n>  \t\tcolor.diff\n>  \t\tcolor.diff.commit\n>  \t\tcolor.diff.frag\n> +\t\tcolor.diff.func\n>  \t\tcolor.diff.meta\n>  \t\tcolor.diff.new\n>  \t\tcolor.diff.old\n>  \t\tcolor.diff.plain\n>  \t\tcolor.diff.whitespace\n\nWe have color.diff.branch coming soon (I think it is in 'next' now).\n\n-Peff\n"},{"id":"158201","messageId":"alpine.DEB.1.10.1012151931030.25560@debian","threadId":"26075","inReplyTo":"20101215130046.GB25647@sigill.intra.peff.net","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Martin von Zweigbergk","fromEmail":"martin.von.zweigbergk@gmail.com","sentAt":"2010-12-15T19:44:45Z","receivedAt":"2010-12-15T19:44:45Z","isPatch":true,"sender":{"key":"martinvonz@gmail.com","avatar":"https://avatars.githubusercontent.com/u/891642?v=4"},"body":"On Wed, 15 Dec 2010, Jeff King wrote:\n\n> On Wed, Dec 15, 2010 at 07:46:53AM +0100, Martin von Zweigbergk wrote:\n> \n> > The color.grep.external option has been deleted. Should it be deleted\n> > from here or do we want to help users run e.g.\n> > 'git config --unset color.grep.external'? Same goes for\n> > add.ignore-errors.\n> \n> IMHO, they should go away. People who have them can figure out how to\n> delete them, but it is more important not to advertise them to people\n> who are adding variables.\n\nSounds good to me. If no one disagrees, I'll send an updated patch in\na day or two, removing both color.grep.external and add.ignore-errors.\n\n> As an aside, I would think \"--unset\" should actually choose from the set\n> of configured variables for completion (i.e., \"git config --list | cut\n> -d= -f1\"). But that would obviously be a separate patch.\n\nGood point. I'll put it on my todo.\n\n> > Some variables are documented with camelCase but read in all\n> > lowercase in the code. Not worth updating the code just for that, is\n> > it?\n> \n> All variables are case-insensitive.\n\nThat I knew...\n\n> The config parser down-cases them,\n> so all code should treat tham as all-lowercase.\n\n... but not that. Thanks. I could/should have figured that out if I\nhad noticed that *all* of them were lowercase in the code :-P.\n\n> One note:\n> \n> >  \t\tcolor.diff\n> >  \t\tcolor.diff.commit\n> >  \t\tcolor.diff.frag\n> > +\t\tcolor.diff.func\n> >  \t\tcolor.diff.meta\n> >  \t\tcolor.diff.new\n> >  \t\tcolor.diff.old\n> >  \t\tcolor.diff.plain\n> >  \t\tcolor.diff.whitespace\n> \n> We have color.diff.branch coming soon (I think it is in 'next' now).\n\nStrictly speaking, that note is for Junio to think of when he merges,\nright? But adding it early is pretty harmless and if that relieves him\nof some work, I would be happy to add it in the next submission of\nthis patch. Is that better?\n\nThinking a bit more, maybe what you are suggesting is that I base the\nnext revision of this patch on the branch that adds that variable?\n\n\n/Martin\n"},{"id":"158203","messageId":"20101216042304.GA886@sigill.intra.peff.net","threadId":"26075","inReplyTo":"alpine.DEB.1.10.1012151931030.25560@debian","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-12-16T04:23:04Z","receivedAt":"2010-12-16T04:23:04Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:\n\n> > One note:\n> > \n> > >  \t\tcolor.diff\n> > >  \t\tcolor.diff.commit\n> > >  \t\tcolor.diff.frag\n> > > +\t\tcolor.diff.func\n> > >  \t\tcolor.diff.meta\n> > >  \t\tcolor.diff.new\n> > >  \t\tcolor.diff.old\n> > >  \t\tcolor.diff.plain\n> > >  \t\tcolor.diff.whitespace\n> > \n> > We have color.diff.branch coming soon (I think it is in 'next' now).\n> \n> Strictly speaking, that note is for Junio to think of when he merges,\n> right? But adding it early is pretty harmless and if that relieves him\n> of some work, I would be happy to add it in the next submission of\n> this patch. Is that better?\n> \n> Thinking a bit more, maybe what you are suggesting is that I base the\n> next revision of this patch on the branch that adds that variable?\n\nThe \"correct\" thing to do from a topic branch standpoint is to submit\nthis patch without it as its own topic, submit a patch with just\ncolor.diff.branch on top of the other topic, and then the merge\nresolution will include both sets.\n\nIn this case, it might be OK to just start shipping color.diff.branch in\nthe completion list. It doesn't hurt anything to have the extra\ncompletion before the feature is in, and the feature seems very likely\nto make it in soon.\n\nBut I'll let Junio decide how meticulous about history he wants to be.\n:)\n\n-Peff\n"},{"id":"158210","messageId":"alpine.DEB.1.10.1012160810440.25560@debian","threadId":"26075","inReplyTo":"20101216124235.GA32636@neumann","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Martin von Zweigbergk","fromEmail":"martin.von.zweigbergk@gmail.com","sentAt":"2010-12-16T07:14:54Z","receivedAt":"2010-12-16T07:14:54Z","isPatch":true,"sender":{"key":"martinvonz@gmail.com","avatar":"https://avatars.githubusercontent.com/u/891642?v=4"},"body":"On Thu, 16 Dec 2010, SZEDER G?bor wrote:\n\n> Hi,\n> \n> \n> On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:\n> > On Wed, 15 Dec 2010, Jeff King wrote:\n> > > As an aside, I would think \"--unset\" should actually choose from the set\n> > > of configured variables for completion (i.e., \"git config --list | cut\n> > > -d= -f1\"). But that would obviously be a separate patch.\n> > \n> > Good point. I'll put it on my todo.\n> \n> It already works that way since 0065236 (bash completion: complete\n> variable names for \"git config\" with options, 2009-05-08).\n\nNice. Thanks. Removed from my todo :-). Then I don't see any reason at\nall to keep color.grep.external and add.ignore-errors.\n\n\n/Martin\n"},{"id":"158209","messageId":"20101216124235.GA32636@neumann","threadId":"26075","inReplyTo":"alpine.DEB.1.10.1012151931030.25560@debian","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"SZEDER Gábor","fromEmail":"szeder@ira.uka.de","sentAt":"2010-12-16T12:42:35Z","receivedAt":"2010-12-16T12:42:35Z","isPatch":true,"sender":{"key":"szeder.dev@gmail.com","avatar":"https://avatars.githubusercontent.com/u/116324?v=4"},"body":"Hi,\n\n\nOn Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:\n> On Wed, 15 Dec 2010, Jeff King wrote:\n> > As an aside, I would think \"--unset\" should actually choose from the set\n> > of configured variables for completion (i.e., \"git config --list | cut\n> > -d= -f1\"). But that would obviously be a separate patch.\n> \n> Good point. I'll put it on my todo.\n\nIt already works that way since 0065236 (bash completion: complete\nvariable names for \"git config\" with options, 2009-05-08).\n\n\nBest,\nGábor\n"},{"id":"158211","messageId":"20101216142816.GB9945@sigill.intra.peff.net","threadId":"26075","inReplyTo":"alpine.DEB.1.10.1012160810440.25560@debian","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-12-16T14:28:16Z","receivedAt":"2010-12-16T14:28:16Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Dec 16, 2010 at 08:14:54AM +0100, Martin von Zweigbergk wrote:\n\n> > On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:\n> > > On Wed, 15 Dec 2010, Jeff King wrote:\n> > > > As an aside, I would think \"--unset\" should actually choose from the set\n> > > > of configured variables for completion (i.e., \"git config --list | cut\n> > > > -d= -f1\"). But that would obviously be a separate patch.\n> > > \n> > > Good point. I'll put it on my todo.\n> > \n> > It already works that way since 0065236 (bash completion: complete\n> > variable names for \"git config\" with options, 2009-05-08).\n> \n> Nice. Thanks. Removed from my todo :-). Then I don't see any reason at\n> all to keep color.grep.external and add.ignore-errors.\n\nAgreed. Thanks.\n\n-Peff\n"},{"id":"158291","messageId":"7vei9gi0y3.fsf@alter.siamese.dyndns.org","threadId":"26075","inReplyTo":"20101215130046.GB25647@sigill.intra.peff.net","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-12-17T20:44:36Z","receivedAt":"2010-12-17T20:44:36Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> All variables are case-insensitive. The config parser down-cases them,\n> so all code should treat tham as all-lowercase. However, we tend to\n> document them as camelCase for readability.\n\nCareful.  The second level of three-level names is supposed to be usable\nfor user defined names (e.g. names of branches and remotes) and I think\nthe completion code should not downcase it.\n \n"},{"id":"158292","messageId":"7v7hf8i0lk.fsf@alter.siamese.dyndns.org","threadId":"26075","inReplyTo":"20101216042304.GA886@sigill.intra.peff.net","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-12-17T20:52:07Z","receivedAt":"2010-12-17T20:52:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeff King <peff@peff.net> writes:\n\n> On Wed, Dec 15, 2010 at 08:44:45PM +0100, Martin von Zweigbergk wrote:\n>\n>> > One note:\n>> > \n>> > >  \t\tcolor.diff\n>> > >  \t\tcolor.diff.commit\n>> > >  \t\tcolor.diff.frag\n>> > > +\t\tcolor.diff.func\n>> > >  \t\tcolor.diff.meta\n>> > >  \t\tcolor.diff.new\n>> > >  \t\tcolor.diff.old\n>> > >  \t\tcolor.diff.plain\n>> > >  \t\tcolor.diff.whitespace\n>> > \n>> > We have color.diff.branch coming soon (I think it is in 'next' now).\n>\n> The \"correct\" thing to do from a topic branch standpoint is to submit\n> this patch without it as its own topic, submit a patch with just\n> color.diff.branch on top of the other topic, and then the merge\n> resolution will include both sets.\n\nPerhaps, if we had color.diff.branch ;-).\n\n> In this case, it might be OK to just start shipping color.diff.branch in\n> the completion list. It doesn't hurt anything to have the extra\n> completion before the feature is in, and the feature seems very likely\n> to make it in soon.\n>\n> But I'll let Junio decide how meticulous about history he wants to be.\n\nWell, in this case, probably the right thing to do is to ignore this\naddition to completion as the lowest priority item for now, wait for other\nchanges that add or modify the set of configuration variables to land on\n'master', and then resubmit a single patch.\n\nYes, merge is wonderful and easy, but it is merely a tool to help\ncoordination between developers (the ones who add code to understand new\nvariables, the others who add completion to help spell the new variables),\nnot a replacement.  And orderly submission of patches that are related and\nhave dependencies is a prime example of such coordination.\n"},{"id":"158293","messageId":"20101217210412.GA11745@sigill.intra.peff.net","threadId":"26075","inReplyTo":"7v7hf8i0lk.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-12-17T21:04:12Z","receivedAt":"2010-12-17T21:04:12Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Dec 17, 2010 at 12:52:07PM -0800, Junio C Hamano wrote:\n\n> >> > We have color.diff.branch coming soon (I think it is in 'next' now).\n> >\n> > The \"correct\" thing to do from a topic branch standpoint is to submit\n> > this patch without it as its own topic, submit a patch with just\n> > color.diff.branch on top of the other topic, and then the merge\n> > resolution will include both sets.\n> \n> Perhaps, if we had color.diff.branch ;-).\n\nUrgh. Color.status.branch is what I meant all along.\n\n> >\n> > But I'll let Junio decide how meticulous about history he wants to be.\n> \n> Well, in this case, probably the right thing to do is to ignore this\n> addition to completion as the lowest priority item for now, wait for other\n> changes that add or modify the set of configuration variables to land on\n> 'master', and then resubmit a single patch.\n\nSure, that is reasonable to me.\n\n> Yes, merge is wonderful and easy, but it is merely a tool to help\n> coordination between developers (the ones who add code to understand new\n> variables, the others who add completion to help spell the new variables),\n> not a replacement.  And orderly submission of patches that are related and\n> have dependencies is a prime example of such coordination.\n\nWell, yes. But on the other hand, they are two totally separate topics;\nthey just happen to both have a component of \"add stuff to config\ncompletion\".  And don't you always preach about not holding one topic\nhostage by introducing an unnecessary dependency on another?\n\nI don't think it is a huge deal in this case, but Martin's patch could\ntheoretically be \"maint\" material (I say theoretically because I didn't\nactually check whether any of the added completions were for things not\nyet in maint).  Basing it on something in \"next\", even if you wait until\nit's in \"master\", makes that impossible.\n\nBut this is all philosphical wankery. I think any of the solutions is\nfine.\n\n-Peff\n"},{"id":"158294","messageId":"20101217212100.GB11511@sigill.intra.peff.net","threadId":"26075","inReplyTo":"7vei9gi0y3.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] completion: add missing configuration variables","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-12-17T21:21:00Z","receivedAt":"2010-12-17T21:21:00Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Dec 17, 2010 at 12:44:36PM -0800, Junio C Hamano wrote:\n\n> > All variables are case-insensitive. The config parser down-cases them,\n> > so all code should treat tham as all-lowercase. However, we tend to\n> > document them as camelCase for readability.\n> \n> Careful.  The second level of three-level names is supposed to be usable\n> for user defined names (e.g. names of branches and remotes) and I think\n> the completion code should not downcase it.\n\nYeah, good point. It is not even \"second level\" in the parsing code,\nthough, since that code sees:\n\n  [first \"second\"]\n    third\n\nand not\n\n  first.second.third\n\nIOW, the second one is ambiguous in the face of an internal dot.  So if\nI had something like:\n\n  [Foo \"Bar.Baz\"]\n    Bleep = true\n\nthen \"Foo\" and \"Bleep\" are case-insensitive, but both \"Bar\" and \"Baz\"\nare not. So in terms of dotted components, the rule is \"the first and\nlast dotted components are case-insensitive, and middle ones are\ncase-sensitive\". At least with respect to my simple test of calling \"git\nconfig x.y.z\". I'm afraid if I look too deeply I might discover some\ninconsistency. :)\n\n-Peff\n"},{"id":"158413","messageId":"1292858305-7679-1-git-send-email-martin.von.zweigbergk@gmail.com","threadId":"26075","inReplyTo":"1292395613-12859-1-git-send-email-martin.von.zweigbergk@gmail.com","subject":"[PATCH v2] completion: add missing configuration variables","fromName":"Martin von Zweigbergk","fromEmail":"martin.von.zweigbergk@gmail.com","sentAt":"2010-12-20T15:18:25Z","receivedAt":"2010-12-20T15:18:25Z","isPatch":true,"sender":{"key":"martinvonz@gmail.com","avatar":"https://avatars.githubusercontent.com/u/891642?v=4"},"body":"Quite a few configuration variables have been added since 226b343\n(completion: add missing configuration variables to _git_config(),\n2009-05-03). Add these variables to the Bash completion script.\n\nAlso remove the obsolete 'add.ignore-errors' and\n'color.grep.external', as well as 'diff.renameLimit.', which never\nexisted and rename the misspelled 'sendemail.aliasesfiletype'.\n\nSigned-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>\n---\nChanges since previous version:\n\nRemoved 'add.ignore-errors' and 'color.grep.external'.\n\nAdded 'fetch.recurseSubmodules', which has entered master since last\nround.\n\n(Still based on master.)\n\n contrib/completion/git-completion.bash |   70 ++++++++++++++++++++++++++++++--\n 1 files changed, 66 insertions(+), 4 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 604fa79..25c4314 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1864,30 +1864,50 @@ _git_config ()\n \t\t;;\n \tesac\n \t__gitcomp \"\n-\t\tadd.ignore-errors\n+\t\tadd.ignoreErrors\n+\t\tadvice.commitBeforeMerge\n+\t\tadvice.detachedHead\n+\t\tadvice.implicitIdentity\n+\t\tadvice.pushNonFastForward\n+\t\tadvice.resolveConflict\n+\t\tadvice.statusHints\n \t\talias.\n+\t\tam.keepcr\n \t\tapply.ignorewhitespace\n \t\tapply.whitespace\n \t\tbranch.autosetupmerge\n \t\tbranch.autosetuprebase\n+\t\tbrowser.\n \t\tclean.requireForce\n \t\tcolor.branch\n \t\tcolor.branch.current\n \t\tcolor.branch.local\n \t\tcolor.branch.plain\n \t\tcolor.branch.remote\n+\t\tcolor.decorate.HEAD\n+\t\tcolor.decorate.branch\n+\t\tcolor.decorate.remoteBranch\n+\t\tcolor.decorate.stash\n+\t\tcolor.decorate.tag\n \t\tcolor.diff\n \t\tcolor.diff.commit\n \t\tcolor.diff.frag\n+\t\tcolor.diff.func\n \t\tcolor.diff.meta\n \t\tcolor.diff.new\n \t\tcolor.diff.old\n \t\tcolor.diff.plain\n \t\tcolor.diff.whitespace\n \t\tcolor.grep\n-\t\tcolor.grep.external\n+\t\tcolor.grep.context\n+\t\tcolor.grep.filename\n+\t\tcolor.grep.function\n+\t\tcolor.grep.linenumber\n \t\tcolor.grep.match\n+\t\tcolor.grep.selected\n+\t\tcolor.grep.separator\n \t\tcolor.interactive\n+\t\tcolor.interactive.error\n \t\tcolor.interactive.header\n \t\tcolor.interactive.help\n \t\tcolor.interactive.prompt\n@@ -1901,21 +1921,29 @@ _git_config ()\n \t\tcolor.status.untracked\n \t\tcolor.status.updated\n \t\tcolor.ui\n+\t\tcommit.status\n \t\tcommit.template\n+\t\tcore.abbrevguard\n+\t\tcore.askpass\n+\t\tcore.attributesfile\n \t\tcore.autocrlf\n \t\tcore.bare\n+\t\tcore.bigFileThreshold\n \t\tcore.compression\n \t\tcore.createObject\n \t\tcore.deltaBaseCacheLimit\n \t\tcore.editor\n+\t\tcore.eol\n \t\tcore.excludesfile\n \t\tcore.fileMode\n \t\tcore.fsyncobjectfiles\n \t\tcore.gitProxy\n \t\tcore.ignoreCygwinFSTricks\n \t\tcore.ignoreStat\n+\t\tcore.ignorecase\n \t\tcore.logAllRefUpdates\n \t\tcore.loosecompression\n+\t\tcore.notesRef\n \t\tcore.packedGitLimit\n \t\tcore.packedGitWindowSize\n \t\tcore.pager\n@@ -1925,6 +1953,7 @@ _git_config ()\n \t\tcore.repositoryFormatVersion\n \t\tcore.safecrlf\n \t\tcore.sharedRepository\n+\t\tcore.sparseCheckout\n \t\tcore.symlinks\n \t\tcore.trustctime\n \t\tcore.warnAmbiguousRefs\n@@ -1932,15 +1961,17 @@ _git_config ()\n \t\tcore.worktree\n \t\tdiff.autorefreshindex\n \t\tdiff.external\n+\t\tdiff.ignoreSubmodules\n \t\tdiff.mnemonicprefix\n+\t\tdiff.noprefix\n \t\tdiff.renameLimit\n-\t\tdiff.renameLimit.\n \t\tdiff.renames\n \t\tdiff.suppressBlankEmpty\n \t\tdiff.tool\n \t\tdiff.wordRegex\n \t\tdifftool.\n \t\tdifftool.prompt\n+\t\tfetch.recurseSubmodules\n \t\tfetch.unpackLimit\n \t\tformat.attach\n \t\tformat.cc\n@@ -1952,6 +1983,8 @@ _git_config ()\n \t\tformat.subjectprefix\n \t\tformat.suffix\n \t\tformat.thread\n+\t\tformat.to\n+\t\tgc.\n \t\tgc.aggressiveWindow\n \t\tgc.auto\n \t\tgc.autopacklimit\n@@ -1989,15 +2022,20 @@ _git_config ()\n \t\thttp.lowSpeedLimit\n \t\thttp.lowSpeedTime\n \t\thttp.maxRequests\n+\t\thttp.minSessions\n \t\thttp.noEPSV\n+\t\thttp.postBuffer\n \t\thttp.proxy\n \t\thttp.sslCAInfo\n \t\thttp.sslCAPath\n \t\thttp.sslCert\n+\t\thttp.sslCertPasswordProtected\n \t\thttp.sslKey\n \t\thttp.sslVerify\n+\t\thttp.useragent\n \t\ti18n.commitEncoding\n \t\ti18n.logOutputEncoding\n+\t\timap.authMethod\n \t\timap.folder\n \t\timap.host\n \t\timap.pass\n@@ -2006,6 +2044,7 @@ _git_config ()\n \t\timap.sslverify\n \t\timap.tunnel\n \t\timap.user\n+\t\tinit.templatedir\n \t\tinstaweb.browser\n \t\tinstaweb.httpd\n \t\tinstaweb.local\n@@ -2013,19 +2052,29 @@ _git_config ()\n \t\tinstaweb.port\n \t\tinteractive.singlekey\n \t\tlog.date\n+\t\tlog.decorate\n \t\tlog.showroot\n \t\tmailmap.file\n \t\tman.\n \t\tman.viewer\n+\t\tmerge.\n \t\tmerge.conflictstyle\n \t\tmerge.log\n \t\tmerge.renameLimit\n+\t\tmerge.renormalize\n \t\tmerge.stat\n \t\tmerge.tool\n \t\tmerge.verbosity\n \t\tmergetool.\n \t\tmergetool.keepBackup\n+\t\tmergetool.keepTemporaries\n \t\tmergetool.prompt\n+\t\tnotes.displayRef\n+\t\tnotes.rewrite.\n+\t\tnotes.rewrite.amend\n+\t\tnotes.rewrite.rebase\n+\t\tnotes.rewriteMode\n+\t\tnotes.rewriteRef\n \t\tpack.compression\n \t\tpack.deltaCacheLimit\n \t\tpack.deltaCacheSize\n@@ -2036,31 +2085,42 @@ _git_config ()\n \t\tpack.window\n \t\tpack.windowMemory\n \t\tpager.\n+\t\tpretty.\n \t\tpull.octopus\n \t\tpull.twohead\n \t\tpush.default\n+\t\trebase.autosquash\n \t\trebase.stat\n+\t\treceive.autogc\n \t\treceive.denyCurrentBranch\n+\t\treceive.denyDeleteCurrent\n \t\treceive.denyDeletes\n \t\treceive.denyNonFastForwards\n \t\treceive.fsckObjects\n \t\treceive.unpackLimit\n+\t\treceive.updateserverinfo\n+\t\tremotes.\n \t\trepack.usedeltabaseoffset\n \t\trerere.autoupdate\n \t\trerere.enabled\n+\t\tsendemail.\n \t\tsendemail.aliasesfile\n-\t\tsendemail.aliasesfiletype\n+\t\tsendemail.aliasfiletype\n \t\tsendemail.bcc\n \t\tsendemail.cc\n \t\tsendemail.cccmd\n \t\tsendemail.chainreplyto\n \t\tsendemail.confirm\n \t\tsendemail.envelopesender\n+\t\tsendemail.from\n+\t\tsendemail.identity\n \t\tsendemail.multiedit\n \t\tsendemail.signedoffbycc\n+\t\tsendemail.smtpdomain\n \t\tsendemail.smtpencryption\n \t\tsendemail.smtppass\n \t\tsendemail.smtpserver\n+\t\tsendemail.smtpserveroption\n \t\tsendemail.smtpserverport\n \t\tsendemail.smtpuser\n \t\tsendemail.suppresscc\n@@ -2071,6 +2131,8 @@ _git_config ()\n \t\tshowbranch.default\n \t\tstatus.relativePaths\n \t\tstatus.showUntrackedFiles\n+\t\tstatus.submodulesummary\n+\t\tsubmodule.\n \t\ttar.umask\n \t\ttransfer.unpackLimit\n \t\turl.\n-- \n1.7.3.2.864.gbbb96\n"},{"id":"158414","messageId":"20101220212018.GA18503@sigill.intra.peff.net","threadId":"26075","inReplyTo":"1292858305-7679-1-git-send-email-martin.von.zweigbergk@gmail.com","subject":"Re: [PATCH v2] completion: add missing configuration variables","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-12-20T21:20:18Z","receivedAt":"2010-12-20T21:20:18Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Mon, Dec 20, 2010 at 04:18:25PM +0100, Martin von Zweigbergk wrote:\n\n> Quite a few configuration variables have been added since 226b343\n> (completion: add missing configuration variables to _git_config(),\n> 2009-05-03). Add these variables to the Bash completion script.\n> \n> Also remove the obsolete 'add.ignore-errors' and\n> 'color.grep.external', as well as 'diff.renameLimit.', which never\n> existed and rename the misspelled 'sendemail.aliasesfiletype'.\n> \n> Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>\n> ---\n> Changes since previous version:\n> \n> Removed 'add.ignore-errors' and 'color.grep.external'.\n> \n> Added 'fetch.recurseSubmodules', which has entered master since last\n> round.\n> \n> (Still based on master.)\n\nBased on our prior discussion, I think this can go in, and all of the\nother issues can be left for future patches if somebody wants to address\nthem.\n\nAcked-by: Jeff King <peff@peff.net>\n\n-Peff\n"},{"id":"158425","messageId":"7v1v5bc43o.fsf@alter.siamese.dyndns.org","threadId":"26075","inReplyTo":"20101220212018.GA18503@sigill.intra.peff.net","subject":"Re: [PATCH v2] completion: add missing configuration variables","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-12-21T01:22:03Z","receivedAt":"2010-12-21T01:22:03Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Will queue with the Ack from peff; thanks, both.\n"}]}