aboutsummaryrefslogtreecommitdiff
path: root/git-commit.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-09-27 02:06:31 -0700
committerJunio C Hamano <junkio@cox.net>2006-09-27 02:06:31 -0700
commitcede7526534c47436de17977eb39e55aa8c1e646 (patch)
tree74296304f26c57dc9727e068374aea2a6a2df794 /git-commit.sh
parentac5409e420e5fdd7c4a381f873ffcedfb83d7117 (diff)
downloadgit-cede7526534c47436de17977eb39e55aa8c1e646.tar.gz
git-cede7526534c47436de17977eb39e55aa8c1e646.tar.xz
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>
Diffstat (limited to 'git-commit.sh')
-rwxr-xr-xgit-commit.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/git-commit.sh b/git-commit.sh
index 5a4c659b6..ee5a165e7 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -547,15 +547,15 @@ then
PARENTS=$(git-cat-file commit HEAD |
sed -n -e '/^$/q' -e 's/^parent /-p /p')
fi
- current=$(git-rev-parse --verify HEAD)
+ current="$(git-rev-parse --verify HEAD)"
else
if [ -z "$(git-ls-files)" ]; then
echo >&2 Nothing to commit
exit 1
fi
PARENTS=""
- current=
rloga='commit (initial)'
+ current=''
fi
if test -z "$no_edit"
@@ -631,7 +631,7 @@ then
fi &&
commit=$(cat "$GIT_DIR"/COMMIT_MSG | git-commit-tree $tree $PARENTS) &&
rlogm=$(sed -e 1q "$GIT_DIR"/COMMIT_MSG) &&
- git-update-ref -m "$rloga: $rlogm" HEAD $commit $current &&
+ git-update-ref -m "$rloga: $rlogm" HEAD $commit "$current" &&
rm -f -- "$GIT_DIR/MERGE_HEAD" &&
if test -f "$NEXT_INDEX"
then