Merge branch 'pj/completion-remote-set-url-branches'

* pj/completion-remote-set-url-branches:
  completion: normalize increment/decrement style
  completion: remote set-* <name> and <branch>
This commit is contained in:
Junio C Hamano
2012-02-28 13:26:04 -08:00

View File

@ -137,7 +137,7 @@ __git_ps1_show_upstream ()
svn_upstream=${svn_upstream[ ${#svn_upstream[@]} - 2 ]} svn_upstream=${svn_upstream[ ${#svn_upstream[@]} - 2 ]}
svn_upstream=${svn_upstream%@*} svn_upstream=${svn_upstream%@*}
local n_stop="${#svn_remote[@]}" local n_stop="${#svn_remote[@]}"
for ((n=1; n <= n_stop; ++n)); do for ((n=1; n <= n_stop; n++)); do
svn_upstream=${svn_upstream#${svn_remote[$n]}} svn_upstream=${svn_upstream#${svn_remote[$n]}}
done done
@ -166,10 +166,8 @@ __git_ps1_show_upstream ()
for commit in $commits for commit in $commits
do do
case "$commit" in case "$commit" in
"<"*) let ++behind "<"*) ((behind++)) ;;
;; *) ((ahead++)) ;;
*) let ++ahead
;;
esac esac
done done
count="$behind $ahead" count="$behind $ahead"
@ -726,6 +724,9 @@ __git_complete_remote_or_refspec ()
{ {
local cur_="$cur" cmd="${words[1]}" local cur_="$cur" cmd="${words[1]}"
local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0 local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0
if [ "$cmd" = "remote" ]; then
((c++))
fi
while [ $c -lt $cword ]; do while [ $c -lt $cword ]; do
i="${words[c]}" i="${words[c]}"
case "$i" in case "$i" in
@ -743,7 +744,7 @@ __git_complete_remote_or_refspec ()
-*) ;; -*) ;;
*) remote="$i"; break ;; *) remote="$i"; break ;;
esac esac
c=$((++c)) ((c++))
done done
if [ -z "$remote" ]; then if [ -z "$remote" ]; then
__gitcomp_nl "$(__git_remotes)" __gitcomp_nl "$(__git_remotes)"
@ -776,7 +777,7 @@ __git_complete_remote_or_refspec ()
__gitcomp_nl "$(__git_refs)" "$pfx" "$cur_" __gitcomp_nl "$(__git_refs)" "$pfx" "$cur_"
fi fi
;; ;;
pull) pull|remote)
if [ $lhs = 1 ]; then if [ $lhs = 1 ]; then
__gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_" __gitcomp_nl "$(__git_refs "$remote")" "$pfx" "$cur_"
else else
@ -983,7 +984,7 @@ __git_find_on_cmdline ()
return return
fi fi
done done
c=$((++c)) ((c++))
done done
} }
@ -994,7 +995,7 @@ __git_has_doubledash ()
if [ "--" = "${words[c]}" ]; then if [ "--" = "${words[c]}" ]; then
return 0 return 0
fi fi
c=$((++c)) ((c++))
done done
return 1 return 1
} }
@ -1117,7 +1118,7 @@ _git_branch ()
-d|-m) only_local_ref="y" ;; -d|-m) only_local_ref="y" ;;
-r) has_r="y" ;; -r) has_r="y" ;;
esac esac
c=$((++c)) ((c++))
done done
case "$cur" in case "$cur" in
@ -2277,7 +2278,7 @@ _git_config ()
_git_remote () _git_remote ()
{ {
local subcommands="add rename rm show prune update set-head" local subcommands="add rename rm set-head set-branches set-url show prune update"
local subcommand="$(__git_find_on_cmdline "$subcommands")" local subcommand="$(__git_find_on_cmdline "$subcommands")"
if [ -z "$subcommand" ]; then if [ -z "$subcommand" ]; then
__gitcomp "$subcommands" __gitcomp "$subcommands"
@ -2285,9 +2286,12 @@ _git_remote ()
fi fi
case "$subcommand" in case "$subcommand" in
rename|rm|show|prune) rename|rm|set-url|show|prune)
__gitcomp_nl "$(__git_remotes)" __gitcomp_nl "$(__git_remotes)"
;; ;;
set-head|set-branches)
__git_complete_remote_or_refspec
;;
update) update)
local i c='' IFS=$'\n' local i c='' IFS=$'\n'
for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do for i in $(git --git-dir="$(__gitdir)" config --get-regexp "remotes\..*" 2>/dev/null); do
@ -2568,7 +2572,7 @@ _git_tag ()
f=1 f=1
;; ;;
esac esac
c=$((++c)) ((c++))
done done
case "$prev" in case "$prev" in
@ -2621,7 +2625,7 @@ _git ()
--help) command="help"; break ;; --help) command="help"; break ;;
*) command="$i"; break ;; *) command="$i"; break ;;
esac esac
c=$((++c)) ((c++))
done done
if [ -z "$command" ]; then if [ -z "$command" ]; then