summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Unix/Command/_git14
2 files changed, 8 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 45bd9469e..64117ced5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2007-09-25 Clint Adams <clint@zsh.org>
+ * 23831: Completion/Unix/Command/_git: fix handling of merge
+ strategy option.
+
* 23829: Completion/Unix/Command/_git: merge in the remaining
git completion changes from Nikolai Weibull's repository.
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 9ec2e3fe0..62b236189 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -92,10 +92,6 @@ fetch_args=(
'-w[write commit-id into the filename under "$GIT_DIR/refs/<filename>"]:filename'
)
-declare -g merge_strategy_arg
-
-merge_strategy_arg='*'{-s,--strategy=-}'[use given merge strategy]:merge strategy:__git_merge_strategies'
-
declare -ga merge_args
# TODO: Add descriptions to strategies (stupid is undocumented).
@@ -103,7 +99,7 @@ merge_args=(
'(-n --no-summary)'{-n,--no-summary}'[do not show diffstat at the end of the merge]'
'--no-commit[perform the merge but do not autocommit]'
'--squash[merge, but do not make a commit]'
- $merge_strategy_arg
+ '*'{-s,--strategy=-}'[use given merge strategy]:merge strategy:__git_merge_strategies'
)
declare -ga force_ref_arg
@@ -1666,7 +1662,7 @@ _git-ls-remote () {
(( $+functions[_git-merge] )) ||
_git-merge () {
_arguments \
- $merge_args \
+ "$merge_args[@]" \
':merge message' \
'*:remote:__git_commits' && ret=0
}
@@ -1689,7 +1685,7 @@ _git-octupus () {
(( $+functions[_git-pull] )) ||
_git-pull () {
_arguments \
- $merge_args \
+ "$merge_args[@]" \
$common_fetch_args \
':repository:__git_any_repositories' \
'*:refspec:__git_ref_specs' && ret=0
@@ -1725,7 +1721,7 @@ _git-rebase () {
'--abort[abort current rebase]' \
'--skip[skip the current patch]' \
'--merge[use merging strategies to rebase]' \
- $merge_strategy_arg \
+ '*'{-s,--strategy=-}'[use given merge strategy]:merge strategy:__git_merge_strategies' \
$verbose_arg \
'-C-[ensure that given lines of surrounding context match]: :_guard "[[\:digit\:]]##" "lines of context"' \
':upstream branch:__git_revisions' \
@@ -2310,7 +2306,7 @@ _git-svn () {
if [[ $line[1] == (dcommit|rebase) ]]; then
arguments+=(
- $merge_strategy_arg)
+ '*'{-s,--strategy=-}'[use given merge strategy]:merge strategy:__git_merge_strategies')
fi
if [[ $line[1] == (dcommit|log|rebase) ]]; then