Avoid src:dst syntax as default bash completion for git push

Raimund Bauer just discovered that the default bash completion for
a local branch name in a git-push line is not the best choice when
the branch does not exist on the remote system.

In the past we have always completed the local name 'test' as
"test:test", indicating that the destination name is the same as
the local name.  But this fails when "test" does not yet exist on
the remote system, as there is no "test" branch for it to match
the name against.

Fortunately git-push does the right thing when given just the
local branch, as it assumes you want to use the same name in the
destination repository.  So we now offer "test" as the completion
in a git-push line, and let git-push assume that is also the remote
branch name.

We also still support the remote branch completion after the :,
but only if the user manually adds the colon before trying to get
a completion.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Shawn O. Pearce 2007-06-22 18:44:04 -04:00
Родитель 45fd8bd32d
Коммит 92d7c8e37b
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -683,7 +683,7 @@ _git_push ()
__gitcomp "$(__git_refs "$remote")" "" "${cur#*:}"
;;
*)
__gitcomp "$(__git_refs2)"
__gitcomp "$(__git_refs)"
;;
esac
;;