The same duplicate build avoidance as in Doit.

Signed-off-by: Junio C Hamano <junkio@cox.net>
todo
Junio C Hamano 2006-01-14 18:19:54 -08:00
parent 0f0fc5783b
commit 81246862e8
1 changed files with 22 additions and 1 deletions

View File

@ -14,9 +14,30 @@ make clean >/dev/null 2>&1 &&
case "$1" in
'')
echo "* Building all"
branches='naster master maint'

# Make sure naster is between master and pu if exists
if naster=`git rev-parse --verify refs/heads/naster 2>/dev/null`
then
master=`git rev-parse --verify refs/heads/master` &&
pu=`git rev-parse --verify refs/heads/pu` &&
MBM=`git merge-base --all $naster $master` &&
MBN=`git merge-base --all $naster $pu` &&
case ",$MBM,$MBN," in
",$master,$naster,") ;;
*) echo >&2 "naster is not between master and pu"
exit 1 ;;
esac
# If naster is the same as pu, no point rebuilding pu.
case ",$naster,$pu," in
",$pu,$naster,") ;;
*) branches="$branches pu" ;;
esac
fi

{
nstalled=install
for branch in naster master maint pu
for branch in $branches
do
if git-rev-parse --verify refs/heads/$branch 2>/dev/null
then