summary refs log tree commit diff
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2015-10-31 12:52:46 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2015-11-13 20:17:51 +0000
commit6198f7ffbae48230561fdd6996358fd553d954db (patch)
tree3829f0909816df33bbefed3855543680b8463f6b
parentf59864ce7a4a18efbfa5a330895d120ea1ce18f2 (diff)
downloadzsh-6198f7ffbae48230561fdd6996358fd553d954db.tar.gz
zsh-6198f7ffbae48230561fdd6996358fd553d954db.tar.xz
zsh-6198f7ffbae48230561fdd6996358fd553d954db.zip
37031: _git-merge: Exclude ancestors of HEAD from recent commit completion
As done for _git-cherry-pick in a428c6b62cb2 (36328 + 36340).
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Command/_git3
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f314e82f4..9fd23ada9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2015-11-13  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
+	* 37031: Completion/Unix/Command/_git: _git-merge: Exclude
+	ancestors of HEAD from recent commit completion
+
 	* 37025: Functions/VCS_Info/Backends/VCS_INFO_get_data_git:
 	vcs_info git: Add a cherry-pick patch-format
 
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 61386bfac..3dfd604e9 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -1131,6 +1131,7 @@ _git-log () {
 _git-merge () {
   local -a merge_options
   __git_setup_merge_options
+  local -a git_commit_opts=(--all --not HEAD --not)
 
   _arguments -w -S -s \
     $merge_options \
@@ -1138,7 +1139,7 @@ _git-merge () {
     '(                    --no-rerere-autoupdate)--rerere-autoupdate[allow the rerere mechanism to update the index]' \
     '(--rerere-autoupdate                       )--no-rerere-autoupdate[do not allow the rerere mechanism to update the index]' \
     '--abort[restore the original branch and abort the merge operation]' \
-    '*: :__git_commits'
+    '*: : __git_commits -O expl:git_commit_opts'
 }
 
 (( $+functions[_git-mv] )) ||