{"thread":{"id":"46949","subject":"No log --no-decorate completion?","startedAt":"2017-10-11T14:47:32Z","lastAt":"2019-09-13T21:04:01Z","messageCount":19,"participants":["Max Rothman","Stefan Beller","Junio C Hamano","Johannes Schindelin"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"330179","messageId":"CAFA_24+svnt4uSpx1tjj2t6iAt4G3p9UvrxahEYj=VZWeJxC=A@mail.gmail.com","threadId":"46949","inReplyTo":null,"subject":"No log --no-decorate completion?","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2017-10-11T14:47:06Z","receivedAt":"2017-10-11T14:47:32Z","isPatch":false,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"I recently noticed that in the git-completion script, there's\ncompletion for --decorate={full,yes,no} for git log and family, but\nnot for --no-decorate. Is that intentional? If not, I *think* I see\nhow it could be added.\n\nThanks,\nMax\n"},{"id":"330191","messageId":"CAGZ79kYbeVcpEXsei8Lr=Zw+YgJE_E4mBSRWYcYDqOWz20z5oA@mail.gmail.com","threadId":"46949","inReplyTo":"CAFA_24+svnt4uSpx1tjj2t6iAt4G3p9UvrxahEYj=VZWeJxC=A@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2017-10-11T18:09:05Z","receivedAt":"2017-10-11T18:09:11Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Wed, Oct 11, 2017 at 7:47 AM, Max Rothman <max.r.rothman@gmail.com> wrote:\n> I recently noticed that in the git-completion script, there's\n> completion for --decorate={full,yes,no} for git log and family, but\n> not for --no-decorate. Is that intentional? If not, I *think* I see\n> how it could be added.\n>\n> Thanks,\n> Max\n\nUsing git-blame, I found af4e9e8c87 (completion: update am, commit, and log,\n2009-10-07) as well as af16bdaa3f (completion: fix and update 'git log\n--decorate='\noptions, 2015-05-01), both of their commit messages do not discuss leaving out\n--no-decorate intentionally.\n\nIf you give --no-<TAB> you'd get more than just the completion to --no-decorate,\nbut all the negated options, I would assume?\n\nSo maybe that is why no one added the negated options, yet?\n\nThanks,\nStefan\n"},{"id":"330294","messageId":"CAFA_24Jov7FDw7AxUtFDV6avOj40LD6ptEVMPpVuSdAo_6L_1A@mail.gmail.com","threadId":"46949","inReplyTo":"CAGZ79kYbeVcpEXsei8Lr=Zw+YgJE_E4mBSRWYcYDqOWz20z5oA@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2017-10-12T17:41:37Z","receivedAt":"2017-10-12T17:48:57Z","isPatch":false,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"To be fair, other --no* options complete, it's just --no-decorate,\n--no-walk, --no-abbrev-commit, --no-expand-tabs, --no-patch,\n--no-indent-heuristic, and --no-textconv that's missing.\n\nFor example:\n$ git log --no<TAB><TAB>\n--no-color         --no-max-parents   --no-min-parents   --no-prefix\n     --not\n--no-ext-diff      --no-merges        --no-notes         --no-renames\n     --notes\n\nThanks,\nMax\n\nOn Wed, Oct 11, 2017 at 2:09 PM, Stefan Beller <sbeller@google.com> wrote:\n> On Wed, Oct 11, 2017 at 7:47 AM, Max Rothman <max.r.rothman@gmail.com> wrote:\n>> I recently noticed that in the git-completion script, there's\n>> completion for --decorate={full,yes,no} for git log and family, but\n>> not for --no-decorate. Is that intentional? If not, I *think* I see\n>> how it could be added.\n>>\n>> Thanks,\n>> Max\n>\n> Using git-blame, I found af4e9e8c87 (completion: update am, commit, and log,\n> 2009-10-07) as well as af16bdaa3f (completion: fix and update 'git log\n> --decorate='\n> options, 2015-05-01), both of their commit messages do not discuss leaving out\n> --no-decorate intentionally.\n>\n> If you give --no-<TAB> you'd get more than just the completion to --no-decorate,\n> but all the negated options, I would assume?\n>\n> So maybe that is why no one added the negated options, yet?\n>\n> Thanks,\n> Stefan\n"},{"id":"330919","messageId":"CAFA_24JGE=MyRFYwZ_zKsFCt_xFVNqrmagMBQBam3nHhdO6Gzw@mail.gmail.com","threadId":"46949","inReplyTo":"CAFA_24Jov7FDw7AxUtFDV6avOj40LD6ptEVMPpVuSdAo_6L_1A@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2017-10-24T15:32:03Z","receivedAt":"2017-10-24T15:32:28Z","isPatch":false,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"Just re-discovered this in my inbox. So is this worth fixing? I could\n(probably) figure out a patch.\n\nThanks,\nMax\n\nOn Thu, Oct 12, 2017 at 1:41 PM, Max Rothman <max.r.rothman@gmail.com> wrote:\n> To be fair, other --no* options complete, it's just --no-decorate,\n> --no-walk, --no-abbrev-commit, --no-expand-tabs, --no-patch,\n> --no-indent-heuristic, and --no-textconv that's missing.\n>\n> For example:\n> $ git log --no<TAB><TAB>\n> --no-color         --no-max-parents   --no-min-parents   --no-prefix\n>      --not\n> --no-ext-diff      --no-merges        --no-notes         --no-renames\n>      --notes\n>\n> Thanks,\n> Max\n>\n> On Wed, Oct 11, 2017 at 2:09 PM, Stefan Beller <sbeller@google.com> wrote:\n>> On Wed, Oct 11, 2017 at 7:47 AM, Max Rothman <max.r.rothman@gmail.com> wrote:\n>>> I recently noticed that in the git-completion script, there's\n>>> completion for --decorate={full,yes,no} for git log and family, but\n>>> not for --no-decorate. Is that intentional? If not, I *think* I see\n>>> how it could be added.\n>>>\n>>> Thanks,\n>>> Max\n>>\n>> Using git-blame, I found af4e9e8c87 (completion: update am, commit, and log,\n>> 2009-10-07) as well as af16bdaa3f (completion: fix and update 'git log\n>> --decorate='\n>> options, 2015-05-01), both of their commit messages do not discuss leaving out\n>> --no-decorate intentionally.\n>>\n>> If you give --no-<TAB> you'd get more than just the completion to --no-decorate,\n>> but all the negated options, I would assume?\n>>\n>> So maybe that is why no one added the negated options, yet?\n>>\n>> Thanks,\n>> Stefan\n"},{"id":"330920","messageId":"CAGZ79kZHapHLXDM-iU9T_BU5qoYAAAS+yKWLVvfUhxMmp+6mxg@mail.gmail.com","threadId":"46949","inReplyTo":"CAFA_24K99LkeJBKV7+a-m-m9PUZik49cOd40+cEn-6zCvGmMsQ@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2017-10-24T15:32:31Z","receivedAt":"2017-10-24T15:32:37Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Tue, Oct 24, 2017 at 8:15 AM, Max Rothman <max.r.rothman@gmail.com> wrote:\n> Just re-discovered this in my inbox. So is this worth fixing? I could\n> (probably) figure out a patch.\n>\n> Thanks,\n> Max\n>\n\n$ git log -- <TAB>\nDisplay all 100 possibilities? (y or n)\n\nI guess adding one more option is no big deal, so go for it!\nWe also have a couple --no-options already (as you said earlier),\nwhich I think makes it even more viable.\n\nTangent:\nI wonder if we can cascade the completion by common\nprefixes, e.g. --no- or --ignore- occurs a couple of times,\nsuch that we could only show these --no- once and only\nif you try autocompleting thereafter you get all --no- options.\n\nThanks for reviving this thread!\nStefan\n"},{"id":"331710","messageId":"CAFA_24JXc=qJw1-_aJJUMPhW9DaBofxSb6hkVD6n4MWyeT5UOQ@mail.gmail.com","threadId":"46949","inReplyTo":"CAGZ79kZHapHLXDM-iU9T_BU5qoYAAAS+yKWLVvfUhxMmp+6mxg@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2017-11-02T20:25:15Z","receivedAt":"2017-11-02T20:25:43Z","isPatch":false,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"No problem! Let me know if I've done something wrong with this patch,\nI'm new to git's contributor process.\n\ncompletion: add missing completions for log, diff, show\n\n* Add bash completion for the missing --no-* options on git log\n* Add bash completion for --textconv and --indent-heuristic families to\n  git diff and all commands that use diff's options\n* Add bash completion for --no-abbrev-commit, --expand-tabs, and\n  --no-expand-tabs to git show\n---\n contrib/completion/git-completion.bash | 18 ++++++++++++++----\n 1 file changed, 14 insertions(+), 4 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash\nb/contrib/completion/git-completion.bash\nindex 0e16f017a4144..252a6c8c0c80c 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1412,6 +1412,8 @@ __git_diff_common_options=\"--stat --numstat\n--shortstat --summary\n                        --dirstat-by-file= --cumulative\n                        --diff-algorithm=\n                        --submodule --submodule=\n+                       --indent-heuristic --no-indent-heuristic\n+                       --textconv --no-textconv\n \"\n\n _git_diff ()\n@@ -1752,6 +1754,10 @@ _git_log ()\n                __gitcomp \"$__git_diff_submodule_formats\" \"\"\n\"${cur##--submodule=}\"\n                return\n                ;;\n+       --no-walk=*)\n+               __gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n+               return\n+               ;;\n        --*)\n                __gitcomp \"\n                        $__git_log_common_options\n@@ -1759,16 +1765,19 @@ _git_log ()\n                        $__git_log_gitk_options\n                        --root --topo-order --date-order --reverse\n                        --follow --full-diff\n-                       --abbrev-commit --abbrev=\n+                       --abbrev-commit --no-abbrev-commit --abbrev=\n                        --relative-date --date=\n                        --pretty= --format= --oneline\n                        --show-signature\n                        --cherry-mark\n                        --cherry-pick\n                        --graph\n-                       --decorate --decorate=\n+                       --decorate --decorate= --no-decorate\n                        --walk-reflogs\n+                       --no-walk --no-walk= --do-walk\n                        --parents --children\n+                       --expand-tabs --expand-tabs= --no-expand-tabs\n+                       --patch\n                        $merge\n                        $__git_diff_common_options\n                        --pickaxe-all --pickaxe-regex\n@@ -2816,8 +2825,9 @@ _git_show ()\n                return\n                ;;\n        --*)\n-               __gitcomp \"--pretty= --format= --abbrev-commit --oneline\n-                       --show-signature\n+               __gitcomp \"--pretty= --format= --abbrev-commit\n--no-abbrev-commit\n+                       --oneline --show-signature --patch\n+                       --expand-tabs --expand-tabs= --no-expand-tabs\n                        $__git_diff_common_options\n                        \"\n                return\n\nOn Tue, Oct 24, 2017 at 11:32 AM, Stefan Beller <sbeller@google.com> wrote:\n> On Tue, Oct 24, 2017 at 8:15 AM, Max Rothman <max.r.rothman@gmail.com> wrote:\n>> Just re-discovered this in my inbox. So is this worth fixing? I could\n>> (probably) figure out a patch.\n>>\n>> Thanks,\n>> Max\n>>\n>\n> $ git log -- <TAB>\n> Display all 100 possibilities? (y or n)\n>\n> I guess adding one more option is no big deal, so go for it!\n> We also have a couple --no-options already (as you said earlier),\n> which I think makes it even more viable.\n>\n> Tangent:\n> I wonder if we can cascade the completion by common\n> prefixes, e.g. --no- or --ignore- occurs a couple of times,\n> such that we could only show these --no- once and only\n> if you try autocompleting thereafter you get all --no- options.\n>\n> Thanks for reviving this thread!\n> Stefan\n"},{"id":"331727","messageId":"CAGZ79kbWEe=TyqPFSc+D8HCRh3cOkGbkqFKZbpkdisjvkfiaFg@mail.gmail.com","threadId":"46949","inReplyTo":"CAFA_24JXc=qJw1-_aJJUMPhW9DaBofxSb6hkVD6n4MWyeT5UOQ@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2017-11-02T21:19:55Z","receivedAt":"2017-11-02T21:20:02Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Thu, Nov 2, 2017 at 1:25 PM, Max Rothman <max.r.rothman@gmail.com> wrote:\n> No problem! Let me know if I've done something wrong with this patch,\n> I'm new to git's contributor process.\n\nThanks for coming up with a patch!\nYeah, the contribution process has some initial road blocks;\nI'll point them out below.\n\n> completion: add missing completions for log, diff, show\n\nI would think this is a good commit subject as it describes\nthe changes made superficially\n\n> * Add bash completion for the missing --no-* options on git log\n> * Add bash completion for --textconv and --indent-heuristic families to\n>   git diff and all commands that use diff's options\n> * Add bash completion for --no-abbrev-commit, --expand-tabs, and\n>   --no-expand-tabs to git show\n\nThis describes what happens in this patch, but not why, which helps\nfuture readers of commit message more than the \"what\".\nI'm also just guessing but maybe:\n\n    A user might have configured a repo to show diffs in a certain way,\n    add the --no-* options to the autocompletion to override it easier\n    from the command line.\n    New in this patch is autocompletion for --textconv as well as abbreviation\n    options as that needs to be flipped all the time in <example workflow>.\n\nI wonder if we really want to expose indent-heuristic,\nI guess by not having it experimental any more it makes sense to do so.\nc.f. https://public-inbox.org/git/20171029151228.607834-1-cmn@dwim.me/\n\nAt the end of a commit message, the Git project requires a sign off.\n(See section (5) in Documentation/SubmittingPatches;\ntl;dr: add Signed-off-by: NAME <EMAIL> if you can agree to\nhttps://developercertificate.org/)\n\n> ---\n>  contrib/completion/git-completion.bash | 18 ++++++++++++++----\n>  1 file changed, 14 insertions(+), 4 deletions(-)\n>\n> diff --git a/contrib/completion/git-completion.bash\n> b/contrib/completion/git-completion.bash\n> index 0e16f017a4144..252a6c8c0c80c 100644\n> --- a/contrib/completion/git-completion.bash\n> +++ b/contrib/completion/git-completion.bash\n> @@ -1412,6 +1412,8 @@ __git_diff_common_options=\"--stat --numstat\n> --shortstat --summary\n>                         --dirstat-by-file= --cumulative\n>                         --diff-algorithm=\n>                         --submodule --submodule=\n> +                       --indent-heuristic --no-indent-heuristic\n> +                       --textconv --no-textconv\n>  \"\n>\n>  _git_diff ()\n> @@ -1752,6 +1754,10 @@ _git_log ()\n>                 __gitcomp \"$__git_diff_submodule_formats\" \"\"\n> \"${cur##--submodule=}\"\n>                 return\n>                 ;;\n> +       --no-walk=*)\n> +               __gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n> +               return\n> +               ;;\n>         --*)\n>                 __gitcomp \"\n>                         $__git_log_common_options\n> @@ -1759,16 +1765,19 @@ _git_log ()\n>                         $__git_log_gitk_options\n>                         --root --topo-order --date-order --reverse\n>                         --follow --full-diff\n> -                       --abbrev-commit --abbrev=\n> +                       --abbrev-commit --no-abbrev-commit --abbrev=\n>                         --relative-date --date=\n>                         --pretty= --format= --oneline\n>                         --show-signature\n>                         --cherry-mark\n>                         --cherry-pick\n>                         --graph\n> -                       --decorate --decorate=\n> +                       --decorate --decorate= --no-decorate\n>                         --walk-reflogs\n> +                       --no-walk --no-walk= --do-walk\n>                         --parents --children\n> +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> +                       --patch\n>                         $merge\n>                         $__git_diff_common_options\n>                         --pickaxe-all --pickaxe-regex\n> @@ -2816,8 +2825,9 @@ _git_show ()\n>                 return\n>                 ;;\n>         --*)\n> -               __gitcomp \"--pretty= --format= --abbrev-commit --oneline\n> -                       --show-signature\n> +               __gitcomp \"--pretty= --format= --abbrev-commit\n> --no-abbrev-commit\n> +                       --oneline --show-signature --patch\n> +                       --expand-tabs --expand-tabs= --no-expand-tabs\n>                         $__git_diff_common_options\n>                         \"\n>                 return\n>\n\nThe patch looks good, but doesn't apply because the email contains\nwhite spaces instead of tabs. Maybe try https://submitgit.herokuapp.com/\n(or fix/change your email client to send a patch; the gmail web interface\ndoesn't work. I personally got 'git send-email' up and running;\nThe Documentation/SubmittingPatches has a section on email clients, too)\n\nThanks,\nStefan\n"},{"id":"332031","messageId":"CAFA_24L5nTUhO=PbMB9SdnCB1Lj+5rmOHmMJwkuLGWgy-ooxBA@mail.gmail.com","threadId":"46949","inReplyTo":"CAGZ79kbWEe=TyqPFSc+D8HCRh3cOkGbkqFKZbpkdisjvkfiaFg@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2017-11-07T20:31:51Z","receivedAt":"2017-11-07T20:32:18Z","isPatch":false,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"Thanks for the feedback!\n\n>> * Add bash completion for the missing --no-* options on git log\n>> * Add bash completion for --textconv and --indent-heuristic families to\n>>   git diff and all commands that use diff's options\n>> * Add bash completion for --no-abbrev-commit, --expand-tabs, and\n>>   --no-expand-tabs to git show\n>\n> This describes what happens in this patch, but not why, which helps\n> future readers of commit message more than the \"what\".\n\nHow about:\n\n> Teach git-log tab completion about the --no-* options for ease of use\n> at the command line.\n>\n> Similarly, teach git-show tab completion about the --no-abbrev-commit,\n> --expand-tabs, and --no-expand-tabs options.\n>\n> Also, teach git-diff (and all commands that use its options) tab\n> completion about the --textconv and --indent-heuristic families of\n> options. --indent-heuristic is no longer experimental, so there's no\n> reason it should be left out of tab completion any more, and textconv\n> seems to have simply been missed.\n\n\n> At the end of a commit message, the Git project requires a sign off.\n> (See section (5) in Documentation/SubmittingPatches;\n> tl;dr: add Signed-off-by: NAME <EMAIL> if you can agree to\n> https://developercertificate.org/)\n\nSo the sign-off should include my name and email? I thought it was\nsupposed to be the person who approved the patch, but I must've gotten\nconfused.\n\n> The patch looks good, but doesn't apply because the email contains\n> white spaces instead of tabs. Maybe try https://submitgit.herokuapp.com/\n> (or fix/change your email client to send a patch; the gmail web interface\n> doesn't work. I personally got 'git send-email' up and running;\n> The Documentation/SubmittingPatches has a section on email clients, too)\n\nYeah, I was using the gmail interface. I'll give the heroku app a go.\nIt has an option for sending a message in reply to another, and I\nassume I should send it in reply to this thread. Do you know how to\ntell what the appropriate ID to use is? Looking through the raw email,\nI see several, so it's not obvious to me which to use.\n\nThanks,\nMax\n"},{"id":"332035","messageId":"CAGZ79kYKfZC1CzoGE_6G1b2vD+MCw1_rY7J_LeWyT8rp6CAuDw@mail.gmail.com","threadId":"46949","inReplyTo":"CAFA_24L5nTUhO=PbMB9SdnCB1Lj+5rmOHmMJwkuLGWgy-ooxBA@mail.gmail.com","subject":"Re: No log --no-decorate completion?","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2017-11-07T20:48:13Z","receivedAt":"2017-11-07T20:48:20Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Tue, Nov 7, 2017 at 12:31 PM, Max Rothman <max.r.rothman@gmail.com> wrote:\n> Thanks for the feedback!\n>\n>>> * Add bash completion for the missing --no-* options on git log\n>>> * Add bash completion for --textconv and --indent-heuristic families to\n>>>   git diff and all commands that use diff's options\n>>> * Add bash completion for --no-abbrev-commit, --expand-tabs, and\n>>>   --no-expand-tabs to git show\n>>\n>> This describes what happens in this patch, but not why, which helps\n>> future readers of commit message more than the \"what\".\n>\n> How about:\n>\n>> Teach git-log tab completion about the --no-* options for ease of use\n>> at the command line.\n>>\n>> Similarly, teach git-show tab completion about the --no-abbrev-commit,\n>> --expand-tabs, and --no-expand-tabs options.\n>>\n>> Also, teach git-diff (and all commands that use its options) tab\n>> completion about the --textconv and --indent-heuristic families of\n>> options. --indent-heuristic is no longer experimental, so there's no\n>> reason it should be left out of tab completion any more, and textconv\n>> seems to have simply been missed.\n\nSounds good to me.\n\n\n>> At the end of a commit message, the Git project requires a sign off.\n>> (See section (5) in Documentation/SubmittingPatches;\n>> tl;dr: add Signed-off-by: NAME <EMAIL> if you can agree to\n>> https://developercertificate.org/)\n>\n> So the sign-off should include my name and email? I thought it was\n> supposed to be the person who approved the patch, but I must've gotten\n> confused.\n\nAnyone touching the patch needs to sign off on it. So when you write it,\nyou sign off (thereby certifying that you are legally allowed to write\nthe patch.\nFor example you may be employed and the work contract requires you to\nnot work on side projects, or the intellectual property belongs to the employer\nor such).\n\nHypothetically you could send it to Git-for-Windows which happens to\nbe a fork of git. The maintainer of GfW would gladly accept your patch,\n(and also sign it off, thereby certifying he can touch it legally).\nThereafter someone such as a regular contributor from the git project\ncould spot the difference in GfW and git, and they would want to bring it\nto \"the real git\", so they would make a patch out of the commit in GfW.\nAdditionally to the 2 sign offs, this contributor would also need to sign\noff on the patch, saying it is legal what they do. And then that patch could\nbe picked up by the maintainer for the regular git. After that journey the\npatch would have 4 sign offs, indicating the way of travel, i.e. how\nit reached git finally.\n\nAn example of a longer sign off chain is  89dd32aedc\n(check-ref-format doc: --branch validates and expands <branch>, 2017-10-17)\nand apparently Jeff helped Junio to author a patch; Jonathan took that\npatch and changed a thing, only to send it back to Junio, who then applied\nit to git.\n\n\n>> The patch looks good, but doesn't apply because the email contains\n>> white spaces instead of tabs. Maybe try https://submitgit.herokuapp.com/\n>> (or fix/change your email client to send a patch; the gmail web interface\n>> doesn't work. I personally got 'git send-email' up and running;\n>> The Documentation/SubmittingPatches has a section on email clients, too)\n>\n> Yeah, I was using the gmail interface. I'll give the heroku app a go.\n> It has an option for sending a message in reply to another, and I\n> assume I should send it in reply to this thread. Do you know how to\n> tell what the appropriate ID to use is? Looking through the raw email,\n> I see several, so it's not obvious to me which to use.\n\nIn gmail, there is a \"show original\" in the menu near reply, which will\nshow Message ID<CAFA_24L5nTUhO=PbMB9SdnCB1Lj+5rmOHmMJwkuLGWgy-ooxBA@mail.gmail.com>\nfor the email that I am responding to.\n\nAnother way to explore the message ids is public-inbox, as that uses\nthe message ids as keys, i.e.\n\n  https://public-inbox.org/git/CAFA_24L5nTUhO=PbMB9SdnCB1Lj+5rmOHmMJwkuLGWgy-ooxBA@mail.gmail.com\n\nis your email there.\n\nThanks,\nStefan\n"},{"id":"332037","messageId":"0102015f985d387e-f50183c4-4b49-4a9f-b365-2a86ba24bbed-000000@eu-west-1.amazonses.com","threadId":"46949","inReplyTo":"CAGZ79kYKfZC1CzoGE_6G1b2vD+MCw1_rY7J_LeWyT8rp6CAuDw@mail.gmail.com","subject":"[PATCH] completion: add missing completions for log, diff, show","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2017-11-07T21:22:47Z","receivedAt":"2017-11-07T21:22:53Z","isPatch":true,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"From: Max Rothman <max-rothman@pluralsight.com>\n\nTeach git-log tab completion about the --no-* options for ease of use\nat the command line.\n\nSimilarly, teach git-show tab completion about the --no-abbrev-commit,\n--expand-tabs, and --no-expand-tabs options.\n\nAlso, teach git-diff (and all commands that use its options) tab\ncompletion about the --textconv and --indent-heuristic families of\noptions. --indent-heuristic is no longer experimental, so there's no\nreason it should be left out of tab completion any more, and textconv\nseems to have simply been missed.\n---\n contrib/completion/git-completion.bash | 18 ++++++++++++++----\n 1 file changed, 14 insertions(+), 4 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 0e16f017a4144..252a6c8c0c80c 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1412,6 +1412,8 @@ __git_diff_common_options=\"--stat --numstat --shortstat --summary\n \t\t\t--dirstat-by-file= --cumulative\n \t\t\t--diff-algorithm=\n \t\t\t--submodule --submodule=\n+\t\t\t--indent-heuristic --no-indent-heuristic\n+\t\t\t--textconv --no-textconv\n \"\n \n _git_diff ()\n@@ -1752,6 +1754,10 @@ _git_log ()\n \t\t__gitcomp \"$__git_diff_submodule_formats\" \"\" \"${cur##--submodule=}\"\n \t\treturn\n \t\t;;\n+\t--no-walk=*)\n+\t\t__gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"\n \t\t\t$__git_log_common_options\n@@ -1759,16 +1765,19 @@ _git_log ()\n \t\t\t$__git_log_gitk_options\n \t\t\t--root --topo-order --date-order --reverse\n \t\t\t--follow --full-diff\n-\t\t\t--abbrev-commit --abbrev=\n+\t\t\t--abbrev-commit --no-abbrev-commit --abbrev=\n \t\t\t--relative-date --date=\n \t\t\t--pretty= --format= --oneline\n \t\t\t--show-signature\n \t\t\t--cherry-mark\n \t\t\t--cherry-pick\n \t\t\t--graph\n-\t\t\t--decorate --decorate=\n+\t\t\t--decorate --decorate= --no-decorate\n \t\t\t--walk-reflogs\n+\t\t\t--no-walk --no-walk= --do-walk\n \t\t\t--parents --children\n+\t\t\t--expand-tabs --expand-tabs= --no-expand-tabs\n+\t\t\t--patch\n \t\t\t$merge\n \t\t\t$__git_diff_common_options\n \t\t\t--pickaxe-all --pickaxe-regex\n@@ -2816,8 +2825,9 @@ _git_show ()\n \t\treturn\n \t\t;;\n \t--*)\n-\t\t__gitcomp \"--pretty= --format= --abbrev-commit --oneline\n-\t\t\t--show-signature\n+\t\t__gitcomp \"--pretty= --format= --abbrev-commit --no-abbrev-commit\n+\t\t\t--oneline --show-signature --patch\n+\t\t\t--expand-tabs --expand-tabs= --no-expand-tabs\n \t\t\t$__git_diff_common_options\n \t\t\t\"\n \t\treturn\n\n--\nhttps://github.com/git/git/pull/426\n"},{"id":"332060","messageId":"xmqq7ev1mrdi.fsf@gitster.mtv.corp.google.com","threadId":"46949","inReplyTo":"0102015f985d387e-f50183c4-4b49-4a9f-b365-2a86ba24bbed-000000@eu-west-1.amazonses.com","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-11-08T02:33:13Z","receivedAt":"2017-11-08T02:33:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Max Rothman <max.r.rothman@gmail.com> writes:\n\n> From: Max Rothman <max-rothman@pluralsight.com>\n\nThanks.\n\n>\n> Teach git-log tab completion about the --no-* options for ease of use\n> at the command line.\n>\n> Similarly, teach git-show tab completion about the --no-abbrev-commit,\n> --expand-tabs, and --no-expand-tabs options.\n>\n> Also, teach git-diff (and all commands that use its options) tab\n> completion about the --textconv and --indent-heuristic families of\n> options. --indent-heuristic is no longer experimental, so there's no\n> reason it should be left out of tab completion any more, and textconv\n> seems to have simply been missed.\n\nA couple of things that I found questionable in the above\ndescriptions are:\n\n * We do not write git subcommand names like git-foo these days, as\n   nobody type them like so.\n\n * The patch is not teaching git-foo about completing its options.\n   It teaches the bash completion about options for git subcommands\n   it did not know about.\n\nSo perhaps\n\n\tThe bash completion script knows some options to the \"git\n\tlog\" only in the positive form (e.g. \"--abbrev-commit\") but\n\tnot in their negated form (e.g. \"--no-abbrev-commit\").  Add\n\tthem.\n\nand similar?\n\n> ---\n\nMissed sign-off?\n\n> @@ -1759,16 +1765,19 @@ _git_log ()\n> ...\n> -\t\t\t--decorate --decorate=\n> +\t\t\t--decorate --decorate= --no-decorate\n> ...\n> @@ -2816,8 +2825,9 @@ _git_show ()\n>  \t\treturn\n>  \t\t;;\n>  \t--*)\n> -\t\t__gitcomp \"--pretty= --format= --abbrev-commit --oneline\n> -\t\t\t--show-signature\n> +\t\t__gitcomp \"--pretty= --format= --abbrev-commit --no-abbrev-commit\n> +\t\t\t--oneline --show-signature --patch\n> +\t\t\t--expand-tabs --expand-tabs= --no-expand-tabs\n>  \t\t\t$__git_diff_common_options\n>  \t\t\t\"\n>  \t\treturn\n\nIt's a bit sad that the completion support does not know that \"git\nshow\" belongs to the \"git log\" family of commands.  A consequence of\nthis is that \"git show --no-decorate\" is perfectly acceptable but\nneeds to be taught separately to _git_show if we wanted to.\n\nPerhaps some selected options _git_log understands may need to be\nsplit $__git_log_ui_common_options [*1*], like we do for \"git diff\"\nfamily with $__git_diff_common_options, and shared between _git_log\nand _git_show.\n\nI am mentioning this primarily as #leftoverbits and I do not want to\nsee such a change mixed into this patch, as it is totally outside\nthe scope of it.  It is (if you are inclined to do so) OK to make\nthis into two patch series, with 1/2 doing such a refactoring\nwithout changing any externally visible functionality (i.e. just\nmove the ones _git_show knows about to $__git_log_ui_common_options,\nand have _git_show and _git_log use it), and 2/2 adding more options\nto that list to achieve what you wanted to do with this patch, though.\n\nThanks.\n\n\n[Footnote]\n\n*1* $__git_log_common_options is taken and it is about options\n    common to \"log/shortlog/gitk\" but contains some that are not\n    relevant to \"git show\", and that is why I am suggesting a\n    separate and new variable.\n\n\n"},{"id":"332062","messageId":"CAFA_24+bhK5i1Rbp+04+g1Zo6Z8zpmobb5DcJBEtuG1NMBZ8-A@mail.gmail.com","threadId":"46949","inReplyTo":"xmqq7ev1mrdi.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2017-11-08T03:30:05Z","receivedAt":"2017-11-08T03:30:31Z","isPatch":true,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":">> Teach git-log tab completion about the --no-* options for ease of use\n>> at the command line.\n>>\n>> Similarly, teach git-show tab completion about the --no-abbrev-commit,\n>> --expand-tabs, and --no-expand-tabs options.\n>>\n>> Also, teach git-diff (and all commands that use its options) tab\n>> completion about the --textconv and --indent-heuristic families of\n>> options. --indent-heuristic is no longer experimental, so there's no\n>> reason it should be left out of tab completion any more, and textconv\n>> seems to have simply been missed.\n>\n> A couple of things that I found questionable in the above\n> descriptions are:\n>\n>  * We do not write git subcommand names like git-foo these days, as\n>    nobody type them like so.\n\nMy bad, that's still how they're named when using manpages, so that's\nwhat my muscle memory did.\n\n>\n>  * The patch is not teaching git-foo about completing its options.\n>    It teaches the bash completion about options for git subcommands\n>    it did not know about.\n>\n> So perhaps\n>\n>         The bash completion script knows some options to the \"git\n>         log\" only in the positive form (e.g. \"--abbrev-commit\") but\n>         not in their negated form (e.g. \"--no-abbrev-commit\").  Add\n>         them.\n>\n> and similar?\n\nHow about this:\n\nThe bash completion script knows some options to \"git log\" and\n\"git show\" only in the positive form, (e.g. \"--abbrev-commit\"), but not\nin their negative form (e.g. \"--no-abbrev-commit\"). Adds them.\n\nAlso, the bash completion script is missing some other options to\n\"git diff\", and \"git show\" (and thus, all other commands that take\n\"git diff\"'s options). Adds them. Of note, since \"--indent-heuristic\" is\nno longer experimental, adds that too.\n\n>\n>> ---\n>\n> Missed sign-off?\n\nWhoops, there doesn't seem to be a way to add that separately from the\ncommit message in the submitGit interface. I'll try adding it, but\ngmail might turn all the tabs into spaces, so if it does, I'll try to\nfigure out how to resubmit.\n\n>\n>> @@ -1759,16 +1765,19 @@ _git_log ()\n>> ...\n>> -                     --decorate --decorate=\n>> +                     --decorate --decorate= --no-decorate\n>> ...\n>> @@ -2816,8 +2825,9 @@ _git_show ()\n>>               return\n>>               ;;\n>>       --*)\n>> -             __gitcomp \"--pretty= --format= --abbrev-commit --oneline\n>> -                     --show-signature\n>> +             __gitcomp \"--pretty= --format= --abbrev-commit --no-abbrev-commit\n>> +                     --oneline --show-signature --patch\n>> +                     --expand-tabs --expand-tabs= --no-expand-tabs\n>>                       $__git_diff_common_options\n>>                       \"\n>>               return\n>\n> It's a bit sad that the completion support does not know that \"git\n> show\" belongs to the \"git log\" family of commands.  A consequence of\n> this is that \"git show --no-decorate\" is perfectly acceptable but\n> needs to be taught separately to _git_show if we wanted to.\n>\n> Perhaps some selected options _git_log understands may need to be\n> split $__git_log_ui_common_options [*1*], like we do for \"git diff\"\n> family with $__git_diff_common_options, and shared between _git_log\n> and _git_show.\n>\n> I am mentioning this primarily as #leftoverbits and I do not want to\n> see such a change mixed into this patch, as it is totally outside\n> the scope of it.  It is (if you are inclined to do so) OK to make\n> this into two patch series, with 1/2 doing such a refactoring\n> without changing any externally visible functionality (i.e. just\n> move the ones _git_show knows about to $__git_log_ui_common_options,\n> and have _git_show and _git_log use it), and 2/2 adding more options\n> to that list to achieve what you wanted to do with this patch, though.\n\nI think I'll stick with this patch for now (it's my first!), but I\nmight come around and do refactoring in a second pass.\n\nThanks,\nMax\n"},{"id":"332063","messageId":"xmqqvaill8h1.fsf@gitster.mtv.corp.google.com","threadId":"46949","inReplyTo":"CAFA_24+bhK5i1Rbp+04+g1Zo6Z8zpmobb5DcJBEtuG1NMBZ8-A@mail.gmail.com","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2017-11-08T04:06:50Z","receivedAt":"2017-11-08T04:07:00Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Max Rothman <max.r.rothman@gmail.com> writes:\n\n> How about this:\n>\n> The bash completion script knows some options to \"git log\" and\n> \"git show\" only in the positive form, (e.g. \"--abbrev-commit\"), but not\n> in their negative form (e.g. \"--no-abbrev-commit\"). Adds them.\n\ns/Adds them/Add them/; we speak as if we are giving an order to \nthe codebase to \"become like so\" (or to the patch monkey to \"make\nthe code so\").\n\n> Also, the bash completion script is missing some other options to\n> \"git diff\", and \"git show\" (and thus, all other commands that take\n> \"git diff\"'s options). Adds them. Of note, since \"--indent-heuristic\" is\n> no longer experimental, adds that too.\n\nLikewise for the two \"adds\".\n\n>>> ---\n>>\n>> Missed sign-off?\n>\n> Whoops, there doesn't seem to be a way to add that separately from the\n> commit message in the submitGit interface. I'll try adding it, but\n> gmail might turn all the tabs into spaces, so if it does, I'll try to\n> figure out how to resubmit.\n\nI would imagine that the cleanest way is to \"commit --amend\" and\nhave submitGit see that updated/corrected copy.\n\nThanks.\n"},{"id":"378470","messageId":"0102016bb065bf5e-005b0752-2594-45d5-a01a-12d0c5e24b70-000000@eu-west-1.amazonses.com","threadId":"46949","inReplyTo":"0102015f985d387e-f50183c4-4b49-4a9f-b365-2a86ba24bbed-000000@eu-west-1.amazonses.com","subject":"[PATCH] completion: add missing completions for log, diff, show","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2019-07-02T01:56:26Z","receivedAt":"2019-07-02T01:56:29Z","isPatch":true,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"The bash completion script knows some options to \"git log\" and\n\"git show\" only in the positive form, (e.g. \"--abbrev-commit\"), but not\nin their negative form (e.g. \"--no-abbrev-commit\"). Add them.\n\nAlso, the bash completion script is missing some other options to\n\"git diff\", and \"git show\" (and thus, all other commands that take\n\"git diff\"'s options). Add them. Of note, since \"--indent-heuristic\" is\nno longer experimental, add that too.\n\nSigned-off-by: Max Rothman <max.r.rothman@gmail.com>\n---\n contrib/completion/git-completion.bash | 18 ++++++++++++++----\n 1 file changed, 14 insertions(+), 4 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 9f71bcde967bc..b6d18710135ec 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1474,6 +1474,8 @@ __git_diff_common_options=\"--stat --numstat --shortstat --summary\n \t\t\t--dirstat-by-file= --cumulative\n \t\t\t--diff-algorithm=\n \t\t\t--submodule --submodule= --ignore-submodules\n+\t\t\t--indent-heuristic --no-indent-heuristic\n+\t\t\t--textconv --no-textconv\n \"\n \n _git_diff ()\n@@ -1782,6 +1784,10 @@ _git_log ()\n \t\t__gitcomp \"$__git_diff_submodule_formats\" \"\" \"${cur##--submodule=}\"\n \t\treturn\n \t\t;;\n+\t--no-walk=*)\n+\t\t__gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"\n \t\t\t$__git_log_common_options\n@@ -1789,16 +1795,19 @@ _git_log ()\n \t\t\t$__git_log_gitk_options\n \t\t\t--root --topo-order --date-order --reverse\n \t\t\t--follow --full-diff\n-\t\t\t--abbrev-commit --abbrev=\n+\t\t\t--abbrev-commit --no-abbrev-commit --abbrev=\n \t\t\t--relative-date --date=\n \t\t\t--pretty= --format= --oneline\n \t\t\t--show-signature\n \t\t\t--cherry-mark\n \t\t\t--cherry-pick\n \t\t\t--graph\n-\t\t\t--decorate --decorate=\n+\t\t\t--decorate --decorate= --no-decorate\n \t\t\t--walk-reflogs\n+\t\t\t--no-walk --no-walk= --do-walk\n \t\t\t--parents --children\n+\t\t\t--expand-tabs --expand-tabs= --no-expand-tabs\n+\t\t\t--patch\n \t\t\t$merge\n \t\t\t$__git_diff_common_options\n \t\t\t--pickaxe-all --pickaxe-regex\n@@ -2525,8 +2534,9 @@ _git_show ()\n \t\treturn\n \t\t;;\n \t--*)\n-\t\t__gitcomp \"--pretty= --format= --abbrev-commit --oneline\n-\t\t\t--show-signature\n+\t\t__gitcomp \"--pretty= --format= --abbrev-commit --no-abbrev-commit\n+\t\t\t--oneline --show-signature --patch\n+\t\t\t--expand-tabs --expand-tabs= --no-expand-tabs\n \t\t\t$__git_diff_common_options\n \t\t\t\"\n \t\treturn\n\n--\nhttps://github.com/git/git/pull/426\n"},{"id":"379796","messageId":"CAFA_24J8Ry5LhRX5O82eJDtrqjEodDFTEniZNw06fKEWvwvYMA@mail.gmail.com","threadId":"46949","inReplyTo":"0102016bb065bf5e-005b0752-2594-45d5-a01a-12d0c5e24b70-000000@eu-west-1.amazonses.com","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2019-08-02T00:54:05Z","receivedAt":"2019-08-02T00:54:18Z","isPatch":true,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"Ping :)\n\n\nOn Thu, Aug 1, 2019 at 8:50 PM Max Rothman <max.r.rothman@gmail.com> wrote:\n>\n> The bash completion script knows some options to \"git log\" and\n> \"git show\" only in the positive form, (e.g. \"--abbrev-commit\"), but not\n> in their negative form (e.g. \"--no-abbrev-commit\"). Add them.\n>\n> Also, the bash completion script is missing some other options to\n> \"git diff\", and \"git show\" (and thus, all other commands that take\n> \"git diff\"'s options). Add them. Of note, since \"--indent-heuristic\" is\n> no longer experimental, add that too.\n>\n> Signed-off-by: Max Rothman <max.r.rothman@gmail.com>\n> ---\n>  contrib/completion/git-completion.bash | 18 ++++++++++++++----\n>  1 file changed, 14 insertions(+), 4 deletions(-)\n>\n> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\n> index 9f71bcde967bc..b6d18710135ec 100644\n> --- a/contrib/completion/git-completion.bash\n> +++ b/contrib/completion/git-completion.bash\n> @@ -1474,6 +1474,8 @@ __git_diff_common_options=\"--stat --numstat --shortstat --summary\n>                         --dirstat-by-file= --cumulative\n>                         --diff-algorithm=\n>                         --submodule --submodule= --ignore-submodules\n> +                       --indent-heuristic --no-indent-heuristic\n> +                       --textconv --no-textconv\n>  \"\n>\n>  _git_diff ()\n> @@ -1782,6 +1784,10 @@ _git_log ()\n>                 __gitcomp \"$__git_diff_submodule_formats\" \"\" \"${cur##--submodule=}\"\n>                 return\n>                 ;;\n> +       --no-walk=*)\n> +               __gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n> +               return\n> +               ;;\n>         --*)\n>                 __gitcomp \"\n>                         $__git_log_common_options\n> @@ -1789,16 +1795,19 @@ _git_log ()\n>                         $__git_log_gitk_options\n>                         --root --topo-order --date-order --reverse\n>                         --follow --full-diff\n> -                       --abbrev-commit --abbrev=\n> +                       --abbrev-commit --no-abbrev-commit --abbrev=\n>                         --relative-date --date=\n>                         --pretty= --format= --oneline\n>                         --show-signature\n>                         --cherry-mark\n>                         --cherry-pick\n>                         --graph\n> -                       --decorate --decorate=\n> +                       --decorate --decorate= --no-decorate\n>                         --walk-reflogs\n> +                       --no-walk --no-walk= --do-walk\n>                         --parents --children\n> +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> +                       --patch\n>                         $merge\n>                         $__git_diff_common_options\n>                         --pickaxe-all --pickaxe-regex\n> @@ -2525,8 +2534,9 @@ _git_show ()\n>                 return\n>                 ;;\n>         --*)\n> -               __gitcomp \"--pretty= --format= --abbrev-commit --oneline\n> -                       --show-signature\n> +               __gitcomp \"--pretty= --format= --abbrev-commit --no-abbrev-commit\n> +                       --oneline --show-signature --patch\n> +                       --expand-tabs --expand-tabs= --no-expand-tabs\n>                         $__git_diff_common_options\n>                         \"\n>                 return\n>\n> --\n> https://github.com/git/git/pull/426\n>\n"},{"id":"382173","messageId":"CAFA_24JW_oRXB+40M2wKtEDQeC5VYjTC0D9GLEm5oa5E_dGtSg@mail.gmail.com","threadId":"46949","inReplyTo":"CAFA_24J8Ry5LhRX5O82eJDtrqjEodDFTEniZNw06fKEWvwvYMA@mail.gmail.com","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Max Rothman","fromEmail":"max.r.rothman@gmail.com","sentAt":"2019-09-11T18:15:02Z","receivedAt":"2019-09-11T18:15:15Z","isPatch":true,"sender":{"key":"max.r.rothman@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2607086?v=4"},"body":"Just pinging again, I'd love to move this forward!\n\n\nOn Thu, Aug 1, 2019 at 8:54 PM Max Rothman <max.r.rothman@gmail.com> wrote:\n>\n> Ping :)\n>\n>\n> On Thu, Aug 1, 2019 at 8:50 PM Max Rothman <max.r.rothman@gmail.com> wrote:\n> >\n> > The bash completion script knows some options to \"git log\" and\n> > \"git show\" only in the positive form, (e.g. \"--abbrev-commit\"), but not\n> > in their negative form (e.g. \"--no-abbrev-commit\"). Add them.\n> >\n> > Also, the bash completion script is missing some other options to\n> > \"git diff\", and \"git show\" (and thus, all other commands that take\n> > \"git diff\"'s options). Add them. Of note, since \"--indent-heuristic\" is\n> > no longer experimental, add that too.\n> >\n> > Signed-off-by: Max Rothman <max.r.rothman@gmail.com>\n> > ---\n> >  contrib/completion/git-completion.bash | 18 ++++++++++++++----\n> >  1 file changed, 14 insertions(+), 4 deletions(-)\n> >\n> > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\n> > index 9f71bcde967bc..b6d18710135ec 100644\n> > --- a/contrib/completion/git-completion.bash\n> > +++ b/contrib/completion/git-completion.bash\n> > @@ -1474,6 +1474,8 @@ __git_diff_common_options=\"--stat --numstat --shortstat --summary\n> >                         --dirstat-by-file= --cumulative\n> >                         --diff-algorithm=\n> >                         --submodule --submodule= --ignore-submodules\n> > +                       --indent-heuristic --no-indent-heuristic\n> > +                       --textconv --no-textconv\n> >  \"\n> >\n> >  _git_diff ()\n> > @@ -1782,6 +1784,10 @@ _git_log ()\n> >                 __gitcomp \"$__git_diff_submodule_formats\" \"\" \"${cur##--submodule=}\"\n> >                 return\n> >                 ;;\n> > +       --no-walk=*)\n> > +               __gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n> > +               return\n> > +               ;;\n> >         --*)\n> >                 __gitcomp \"\n> >                         $__git_log_common_options\n> > @@ -1789,16 +1795,19 @@ _git_log ()\n> >                         $__git_log_gitk_options\n> >                         --root --topo-order --date-order --reverse\n> >                         --follow --full-diff\n> > -                       --abbrev-commit --abbrev=\n> > +                       --abbrev-commit --no-abbrev-commit --abbrev=\n> >                         --relative-date --date=\n> >                         --pretty= --format= --oneline\n> >                         --show-signature\n> >                         --cherry-mark\n> >                         --cherry-pick\n> >                         --graph\n> > -                       --decorate --decorate=\n> > +                       --decorate --decorate= --no-decorate\n> >                         --walk-reflogs\n> > +                       --no-walk --no-walk= --do-walk\n> >                         --parents --children\n> > +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> > +                       --patch\n> >                         $merge\n> >                         $__git_diff_common_options\n> >                         --pickaxe-all --pickaxe-regex\n> > @@ -2525,8 +2534,9 @@ _git_show ()\n> >                 return\n> >                 ;;\n> >         --*)\n> > -               __gitcomp \"--pretty= --format= --abbrev-commit --oneline\n> > -                       --show-signature\n> > +               __gitcomp \"--pretty= --format= --abbrev-commit --no-abbrev-commit\n> > +                       --oneline --show-signature --patch\n> > +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> >                         $__git_diff_common_options\n> >                         \"\n> >                 return\n> >\n> > --\n> > https://github.com/git/git/pull/426\n> >\n"},{"id":"382204","messageId":"nycvar.QRO.7.76.6.1909121053070.47@tvgsbejvaqbjf.bet","threadId":"46949","inReplyTo":"CAFA_24JW_oRXB+40M2wKtEDQeC5VYjTC0D9GLEm5oa5E_dGtSg@mail.gmail.com","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-09-12T08:54:15Z","receivedAt":"2019-09-12T08:54:40Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Max,\n\nThe patch looks good to me!\n\nThanks,\nJohannes\n\nOn Wed, 11 Sep 2019, Max Rothman wrote:\n\n> On Thu, Aug 1, 2019 at 8:54 PM Max Rothman <max.r.rothman@gmail.com> wrote:\n> >\n> > On Thu, Aug 1, 2019 at 8:50 PM Max Rothman <max.r.rothman@gmail.com> wrote:\n> > >\n> > > The bash completion script knows some options to \"git log\" and\n> > > \"git show\" only in the positive form, (e.g. \"--abbrev-commit\"), but not\n> > > in their negative form (e.g. \"--no-abbrev-commit\"). Add them.\n> > >\n> > > Also, the bash completion script is missing some other options to\n> > > \"git diff\", and \"git show\" (and thus, all other commands that take\n> > > \"git diff\"'s options). Add them. Of note, since \"--indent-heuristic\" is\n> > > no longer experimental, add that too.\n> > >\n> > > Signed-off-by: Max Rothman <max.r.rothman@gmail.com>\n> > > ---\n> > >  contrib/completion/git-completion.bash | 18 ++++++++++++++----\n> > >  1 file changed, 14 insertions(+), 4 deletions(-)\n> > >\n> > > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\n> > > index 9f71bcde967bc..b6d18710135ec 100644\n> > > --- a/contrib/completion/git-completion.bash\n> > > +++ b/contrib/completion/git-completion.bash\n> > > @@ -1474,6 +1474,8 @@ __git_diff_common_options=\"--stat --numstat --shortstat --summary\n> > >                         --dirstat-by-file= --cumulative\n> > >                         --diff-algorithm=\n> > >                         --submodule --submodule= --ignore-submodules\n> > > +                       --indent-heuristic --no-indent-heuristic\n> > > +                       --textconv --no-textconv\n> > >  \"\n> > >\n> > >  _git_diff ()\n> > > @@ -1782,6 +1784,10 @@ _git_log ()\n> > >                 __gitcomp \"$__git_diff_submodule_formats\" \"\" \"${cur##--submodule=}\"\n> > >                 return\n> > >                 ;;\n> > > +       --no-walk=*)\n> > > +               __gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n> > > +               return\n> > > +               ;;\n> > >         --*)\n> > >                 __gitcomp \"\n> > >                         $__git_log_common_options\n> > > @@ -1789,16 +1795,19 @@ _git_log ()\n> > >                         $__git_log_gitk_options\n> > >                         --root --topo-order --date-order --reverse\n> > >                         --follow --full-diff\n> > > -                       --abbrev-commit --abbrev=\n> > > +                       --abbrev-commit --no-abbrev-commit --abbrev=\n> > >                         --relative-date --date=\n> > >                         --pretty= --format= --oneline\n> > >                         --show-signature\n> > >                         --cherry-mark\n> > >                         --cherry-pick\n> > >                         --graph\n> > > -                       --decorate --decorate=\n> > > +                       --decorate --decorate= --no-decorate\n> > >                         --walk-reflogs\n> > > +                       --no-walk --no-walk= --do-walk\n> > >                         --parents --children\n> > > +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> > > +                       --patch\n> > >                         $merge\n> > >                         $__git_diff_common_options\n> > >                         --pickaxe-all --pickaxe-regex\n> > > @@ -2525,8 +2534,9 @@ _git_show ()\n> > >                 return\n> > >                 ;;\n> > >         --*)\n> > > -               __gitcomp \"--pretty= --format= --abbrev-commit --oneline\n> > > -                       --show-signature\n> > > +               __gitcomp \"--pretty= --format= --abbrev-commit --no-abbrev-commit\n> > > +                       --oneline --show-signature --patch\n> > > +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> > >                         $__git_diff_common_options\n> > >                         \"\n> > >                 return\n> > >\n> > > --\n> > > https://github.com/git/git/pull/426\n> > >\n>\n"},{"id":"382254","messageId":"xmqqpnk5fgar.fsf@gitster-ct.c.googlers.com","threadId":"46949","inReplyTo":"nycvar.QRO.7.76.6.1909121053070.47@tvgsbejvaqbjf.bet","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-09-12T19:47:08Z","receivedAt":"2019-09-12T19:47:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi Max,\n>\n> The patch looks good to me!\n\nThanks, both.  Will queue.\n"},{"id":"382337","messageId":"nycvar.QRO.7.76.6.1909132300130.47@tvgsbejvaqbjf.bet","threadId":"46949","inReplyTo":"CAFA_24L5S1_AS1OzPYf50iXwEupi0Bus827-NWoUpka-avNo_w@mail.gmail.com","subject":"Re: [PATCH] completion: add missing completions for log, diff, show","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-09-13T21:03:42Z","receivedAt":"2019-09-13T21:04:01Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Max,\n\n[your reply did not make it to the Git mailing list because it drops\nanything with an HTML part]\n\nOn Thu, 12 Sep 2019, Max Rothman wrote:\n\n> Great! What’s the path for getting this merged?\n\nUsually it will be picked up into the `pu` branch first, then advance to\n`next`, and then to `master`. Once it is in `master`, it will be part of\nthe then-next official version ending in `.0`.\n\nYou can also read about the state of your patch (once it has been picked\nup) in the bi-weekly \"What's cooking\" mails. If you're not subscribed,\nyou can look at the current version on the web:\nhttps://github.com/git/git/blob/todo/whats-cooking.txt\n\nCiao,\nJohannes\n\n>\n> On Thu, Sep 12, 2019 at 4:54 AM Johannes Schindelin <\n> Johannes.Schindelin@gmx.de> wrote:\n>\n> > Hi Max,\n> >\n> > The patch looks good to me!\n> >\n> > Thanks,\n> > Johannes\n> >\n> > On Wed, 11 Sep 2019, Max Rothman wrote:\n> >\n> > > On Thu, Aug 1, 2019 at 8:54 PM Max Rothman <max.r.rothman@gmail.com>\n> > wrote:\n> > > >\n> > > > On Thu, Aug 1, 2019 at 8:50 PM Max Rothman <max.r.rothman@gmail.com>\n> > wrote:\n> > > > >\n> > > > > The bash completion script knows some options to \"git log\" and\n> > > > > \"git show\" only in the positive form, (e.g. \"--abbrev-commit\"), but\n> > not\n> > > > > in their negative form (e.g. \"--no-abbrev-commit\"). Add them.\n> > > > >\n> > > > > Also, the bash completion script is missing some other options to\n> > > > > \"git diff\", and \"git show\" (and thus, all other commands that take\n> > > > > \"git diff\"'s options). Add them. Of note, since \"--indent-heuristic\"\n> > is\n> > > > > no longer experimental, add that too.\n> > > > >\n> > > > > Signed-off-by: Max Rothman <max.r.rothman@gmail.com>\n> > > > > ---\n> > > > >  contrib/completion/git-completion.bash | 18 ++++++++++++++----\n> > > > >  1 file changed, 14 insertions(+), 4 deletions(-)\n> > > > >\n> > > > > diff --git a/contrib/completion/git-completion.bash\n> > b/contrib/completion/git-completion.bash\n> > > > > index 9f71bcde967bc..b6d18710135ec 100644\n> > > > > --- a/contrib/completion/git-completion.bash\n> > > > > +++ b/contrib/completion/git-completion.bash\n> > > > > @@ -1474,6 +1474,8 @@ __git_diff_common_options=\"--stat --numstat\n> > --shortstat --summary\n> > > > >                         --dirstat-by-file= --cumulative\n> > > > >                         --diff-algorithm=\n> > > > >                         --submodule --submodule= --ignore-submodules\n> > > > > +                       --indent-heuristic --no-indent-heuristic\n> > > > > +                       --textconv --no-textconv\n> > > > >  \"\n> > > > >\n> > > > >  _git_diff ()\n> > > > > @@ -1782,6 +1784,10 @@ _git_log ()\n> > > > >                 __gitcomp \"$__git_diff_submodule_formats\" \"\"\n> > \"${cur##--submodule=}\"\n> > > > >                 return\n> > > > >                 ;;\n> > > > > +       --no-walk=*)\n> > > > > +               __gitcomp \"sorted unsorted\" \"\" \"${cur##--no-walk=}\"\n> > > > > +               return\n> > > > > +               ;;\n> > > > >         --*)\n> > > > >                 __gitcomp \"\n> > > > >                         $__git_log_common_options\n> > > > > @@ -1789,16 +1795,19 @@ _git_log ()\n> > > > >                         $__git_log_gitk_options\n> > > > >                         --root --topo-order --date-order --reverse\n> > > > >                         --follow --full-diff\n> > > > > -                       --abbrev-commit --abbrev=\n> > > > > +                       --abbrev-commit --no-abbrev-commit --abbrev=\n> > > > >                         --relative-date --date=\n> > > > >                         --pretty= --format= --oneline\n> > > > >                         --show-signature\n> > > > >                         --cherry-mark\n> > > > >                         --cherry-pick\n> > > > >                         --graph\n> > > > > -                       --decorate --decorate=\n> > > > > +                       --decorate --decorate= --no-decorate\n> > > > >                         --walk-reflogs\n> > > > > +                       --no-walk --no-walk= --do-walk\n> > > > >                         --parents --children\n> > > > > +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> > > > > +                       --patch\n> > > > >                         $merge\n> > > > >                         $__git_diff_common_options\n> > > > >                         --pickaxe-all --pickaxe-regex\n> > > > > @@ -2525,8 +2534,9 @@ _git_show ()\n> > > > >                 return\n> > > > >                 ;;\n> > > > >         --*)\n> > > > > -               __gitcomp \"--pretty= --format= --abbrev-commit\n> > --oneline\n> > > > > -                       --show-signature\n> > > > > +               __gitcomp \"--pretty= --format= --abbrev-commit\n> > --no-abbrev-commit\n> > > > > +                       --oneline --show-signature --patch\n> > > > > +                       --expand-tabs --expand-tabs= --no-expand-tabs\n> > > > >                         $__git_diff_common_options\n> > > > >                         \"\n> > > > >                 return\n> > > > >\n> > > > > --\n> > > > > https://github.com/git/git/pull/426\n> > > > >\n> > >\n> >\n>\n"}]}