From: Junio C Hamano Date: Wed, 24 Aug 2016 16:52:22 GMT Subject: Re: [RFC PATCH] completion: support excluding refs Message-ID: In-Reply-To: <20160824084152.2857-1-judge.packham@gmail.com> Chris Packham writes: > Allow completion of refs with a ^ prefix. This allows completion of > commands like 'git log HEAD ^origin/master'. > ... > + [[ "$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 That looks like a reasonable approach to me (but I am no expert in this area myself).