mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
Merge branch 'cp/completion-negative-refs'
The command-line completion script (in contrib/) learned to complete "git cmd ^mas<HT>" to complete the negative end of reference to "git cmd ^master". * cp/completion-negative-refs: completion: support excluding refs
This commit is contained in:
commit
a229a30f8a
|
@ -338,7 +338,7 @@ __git_tags ()
|
|||
__git_refs ()
|
||||
{
|
||||
local i hash dir="$(__gitdir "${1-}")" track="${2-}"
|
||||
local format refs
|
||||
local format refs pfx
|
||||
if [ -d "$dir" ]; then
|
||||
case "$cur" in
|
||||
refs|refs/*)
|
||||
|
@ -347,14 +347,15 @@ __git_refs ()
|
|||
track=""
|
||||
;;
|
||||
*)
|
||||
[[ "$cur" == ^* ]] && pfx="^"
|
||||
for i in HEAD FETCH_HEAD ORIG_HEAD MERGE_HEAD; do
|
||||
if [ -e "$dir/$i" ]; then echo $i; fi
|
||||
if [ -e "$dir/$i" ]; then echo $pfx$i; fi
|
||||
done
|
||||
format="refname:short"
|
||||
refs="refs/tags refs/heads refs/remotes"
|
||||
;;
|
||||
esac
|
||||
git --git-dir="$dir" for-each-ref --format="%($format)" \
|
||||
git --git-dir="$dir" for-each-ref --format="$pfx%($format)" \
|
||||
$refs
|
||||
if [ -n "$track" ]; then
|
||||
# employ the heuristic used by git checkout
|
||||
|
|
Loading…
Reference in a new issue