update a few Porcelain-ish for ref lock safety.
authorJunio C Hamano <junkio@cox.net>
Wed, 27 Sep 2006 09:06:31 +0000 (02:06 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 27 Sep 2006 09:06:31 +0000 (02:06 -0700)
commitcede7526534c47436de17977eb39e55aa8c1e646
tree74296304f26c57dc9727e068374aea2a6a2df794
parentac5409e420e5fdd7c4a381f873ffcedfb83d7117
update a few Porcelain-ish for ref lock safety.

This updates the use of git-update-ref in git-branch, git-tag
and git-commit to make them safer in a few corner cases as
demonstration.

 - git-tag makes sure that the named tag does not exist, allows
   you to edit tag message and then creates the tag.  If a tag
   with the same name was created by somebody else in the
   meantime, it used to happily overwrote it.  Now it notices
   the situation.

 - git-branch -d and git-commit (for the initial commit) had the
   same issue but with smaller race window, which is plugged
   with this.

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-branch.sh
git-commit.sh
git-tag.sh