On Thu, Nov 2, 2017 at 1:25 PM, Max Rothman <max.r.rothman@xxxxxxxxx> wrote: > No problem! Let me know if I've done something wrong with this patch, > I'm new to git's contributor process. Thanks for coming up with a patch! Yeah, the contribution process has some initial road blocks; I'll point them out below. > completion: add missing completions for log, diff, show I would think this is a good commit subject as it describes the changes made superficially > * Add bash completion for the missing --no-* options on git log > * Add bash completion for --textconv and --indent-heuristic families to > git diff and all commands that use diff's options > * Add bash completion for --no-abbrev-commit, --expand-tabs, and > --no-expand-tabs to git show This describes what happens in this patch, but not why, which helps future readers of commit message more than the "what". I'm also just guessing but maybe: A user might have configured a repo to show diffs in a certain way, add the --no-* options to the autocompletion to override it easier from the command line. New in this patch is autocompletion for --textconv as well as abbreviation options as that needs to be flipped all the time in <example workflow>. I wonder if we really want to expose indent-heuristic, I guess by not having it experimental any more it makes sense to do so. c.f. https://public-inbox.org/git/20171029151228.607834-1-cmn@xxxxxxx/ At the end of a commit message, the Git project requires a sign off. (See section (5) in Documentation/SubmittingPatches; tl;dr: add Signed-off-by: NAME <EMAIL> if you can agree to https://developercertificate.org/) > --- > contrib/completion/git-completion.bash | 18 ++++++++++++++---- > 1 file changed, 14 insertions(+), 4 deletions(-) > > diff --git a/contrib/completion/git-completion.bash > b/contrib/completion/git-completion.bash > index 0e16f017a4144..252a6c8c0c80c 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -1412,6 +1412,8 @@ __git_diff_common_options="--stat --numstat > --shortstat --summary > --dirstat-by-file= --cumulative > --diff-algorithm= > --submodule --submodule= > + --indent-heuristic --no-indent-heuristic > + --textconv --no-textconv > " > > _git_diff () > @@ -1752,6 +1754,10 @@ _git_log () > __gitcomp "$__git_diff_submodule_formats" "" > "${cur##--submodule=}" > return > ;; > + --no-walk=*) > + __gitcomp "sorted unsorted" "" "${cur##--no-walk=}" > + return > + ;; > --*) > __gitcomp " > $__git_log_common_options > @@ -1759,16 +1765,19 @@ _git_log () > $__git_log_gitk_options > --root --topo-order --date-order --reverse > --follow --full-diff > - --abbrev-commit --abbrev= > + --abbrev-commit --no-abbrev-commit --abbrev= > --relative-date --date= > --pretty= --format= --oneline > --show-signature > --cherry-mark > --cherry-pick > --graph > - --decorate --decorate= > + --decorate --decorate= --no-decorate > --walk-reflogs > + --no-walk --no-walk= --do-walk > --parents --children > + --expand-tabs --expand-tabs= --no-expand-tabs > + --patch > $merge > $__git_diff_common_options > --pickaxe-all --pickaxe-regex > @@ -2816,8 +2825,9 @@ _git_show () > return > ;; > --*) > - __gitcomp "--pretty= --format= --abbrev-commit --oneline > - --show-signature > + __gitcomp "--pretty= --format= --abbrev-commit > --no-abbrev-commit > + --oneline --show-signature --patch > + --expand-tabs --expand-tabs= --no-expand-tabs > $__git_diff_common_options > " > return > The patch looks good, but doesn't apply because the email contains white spaces instead of tabs. Maybe try https://submitgit.herokuapp.com/ (or fix/change your email client to send a patch; the gmail web interface doesn't work. I personally got 'git send-email' up and running; The Documentation/SubmittingPatches has a section on email clients, too) Thanks, Stefan