Browse Source

When creating branch c/d check that branch c does not already exists.

With packed refs, there may not be a ".git/refs/heads/c" file
when branch c exists. And currently in this case, there is no check
to prevent creation of branch c/d.

This should probably be rewritten in C and done after the ref lock
has been taken to make sure no race exists though.

This is mainly to make all test cases in "t3210-pack-refs.sh" work.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Christian Couder 18 years ago committed by Junio C Hamano
parent
commit
5be7649131
  1. 10
      git-branch.sh

10
git-branch.sh

@ -121,6 +121,16 @@ then @@ -121,6 +121,16 @@ then
done
fi

branchdir=$(dirname $branchname)
while test "$branchdir" != "."
do
if git-show-ref --verify --quiet -- "refs/heads/$branchdir"
then
die "$branchdir already exists."
fi
branchdir=$(dirname $branchdir)
done

prev=''
if git-show-ref --verify --quiet -- "refs/heads/$branchname"
then

Loading…
Cancel
Save