Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH 2/2] completion: add missing options for git-merge

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:01:18

John Keeping [off-list ref] writes:
The options added to __git_merge_options are those that git-pull also
understands, since that variable is used by both commands.  Those added
directly in _git_merge() are specific to git-merge and are not
supported by git-pull.
Interesting.

Technically, "are not passed through" would be more accurate than
"are not supported", as there may be a very good reason not to call
"git merge --frotz" from "git pull --frotz=nitfol".  In such a case,
"git pull" would _support_ the "--frotz" option, but in a different
way and possibly with semantics different from "git merge --frotz"
(i.e. option with value vs boolean), and completion of the
"--frotz=<value>" option may need to be supported for "git pull"
separately without using $__git_merge_options.

The patch makes us think if "--[no-]rerere-autoupdate" should be a
pass-thru option.  You are unlikely to have seen the same conflict
that will arise from a pull from another person for autoupdate to
matter, but on the other hand, if you do have seen one and resolved
it already, you may want the autoupdate to kick in, so accepting and
passing it through may not be an unreasonable thing to do.

As long as we declare that "git pull --abort" does not make any
sense (which I think is a sane declaration), the distinction you
made in [PATCH 1/2] will always be with us, whether we make
"--rerere-autoupdate" pass-thru or not, so in that sense, both
patches make sense to me.

Thanks.
quoted hunk
Reported-by: Haralan Dobrev <redacted>
Signed-off-by: John Keeping <redacted>
---
 contrib/completion/git-completion.bash | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index ff97c20..019026e 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1476,6 +1476,8 @@ _git_log ()
 __git_merge_options="
 	--no-commit --no-stat --log --no-log --squash --strategy
 	--commit --stat --no-squash --ff --no-ff --ff-only --edit --no-edit
+	--verify-signatures --no-verify-signatures --gpg-sign
+	--quiet --verbose --progress --no-progress
 "
 
 _git_merge ()
@@ -1484,7 +1486,8 @@ _git_merge ()
 
 	case "$cur" in
 	--*)
-		__gitcomp "$__git_merge_options"
+		__gitcomp "$__git_merge_options
+			--rerere-autoupdate --no-rerere-autoupdate --abort"
 		return
 	esac
 	__gitcomp_nl "$(__git_refs)"
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help