Plumbing version of 'git branch --contains' ?
- From
- Crabtree, Andrew <andrew.crabtree@hp.com>
- Date
- Oct 22, 2014, 20:19 UTC
- Message-ID
- <B82B660D4887C042850326C2BC65FE035D58B11E@G9W0757.americas.hpqcorp.net>
I need to get a list of refs that can reach a certain SHA in in a script.
git branch --contains SHA
would be great (runs in ~2 seconds), but not my preferred option for scripting.
I tried
for br in $(git for-each-ref --format='%(refname:short)' refs/heads/)
do
git merge-base --is-ancestor $1 ${br}
if [ $? -eq 0 ]
then
echo "${br}"
fi
doneWhich gives me perfect output, but takes 82 seconds to run in my environment.
Is there an alternative I'm missing to give me the run time performance of 'git branch --contains' but with stable output suitable for parsing?
Thanks in advance, -Andrew