X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-commit.sh;h=1206c20c2eca1edfb9318891d8237685d237c945;hb=a2775c2a410be4bec1e29ae78bccd3247829e2be;hp=9412840d8f2cc58b19d2ae3406396f2a271135d4;hpb=deca7e8c591608c9ffd0bf0aaf10b379da9f6d6e;p=git.git diff --git a/git-commit.sh b/git-commit.sh index 9412840d..1206c20c 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -94,13 +94,13 @@ esac case "$all,$#" in t,*) git-diff-files --name-only -z | - xargs -0 git-update-index -q --remove -- + git-update-index --remove -z --stdin ;; ,0) ;; *) git-diff-files --name-only -z "$@" | - xargs -0 git-update-index -q --remove -- + git-update-index --remove -z --stdin ;; esac || exit 1 git-update-index -q --refresh || exit 1 @@ -153,13 +153,8 @@ if [ -f "$GIT_DIR/MERGE_HEAD" ]; then fi >>.editmsg PARENTS="-p HEAD" -if [ ! -r "$GIT_DIR/HEAD" ]; then - if [ -z "$(git-ls-files)" ]; then - echo Nothing to commit 1>&2 - exit 1 - fi - PARENTS="" -else +if GIT_DIR="$GIT_DIR" git-rev-parse --verify HEAD >/dev/null 2>&1 +then if [ -f "$GIT_DIR/MERGE_HEAD" ]; then PARENTS="-p HEAD "`sed -e 's/^/-p /' "$GIT_DIR/MERGE_HEAD"` fi @@ -192,6 +187,12 @@ else export GIT_AUTHOR_EMAIL export GIT_AUTHOR_DATE fi +else + if [ -z "$(git-ls-files)" ]; then + echo Nothing to commit 1>&2 + exit 1 + fi + PARENTS="" fi git-status >>.editmsg if [ "$?" != "0" -a ! -f $GIT_DIR/MERGE_HEAD ] @@ -220,7 +221,7 @@ if test -s .cmitchk then tree=$(git-write-tree) && commit=$(cat .cmitmsg | git-commit-tree $tree $PARENTS) && - echo $commit > "$GIT_DIR/HEAD" && + git-update-ref HEAD $commit $current && rm -f -- "$GIT_DIR/MERGE_HEAD" else echo >&2 "* no commit message? aborting commit."