X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-commit.sh;h=5e85b54645edbbdb5e2ba82573ca25d37feacfd1;hb=e7e477dfacecaf362f08a65644d806da5231a9f0;hp=18ad36158dad5a2fc542cb9c1daf65b32ba5b4a3;hpb=148ccbb0384829ab051d6d789b8adf761adf7817;p=git.git diff --git a/git-commit.sh b/git-commit.sh index 18ad3615..5e85b546 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -133,10 +133,13 @@ fi | git-stripspace >.editmsg case "$signoff" in t) - git-var GIT_COMMITTER_IDENT | sed -e ' - s/>.*/>/ - s/^/Signed-off-by: / - ' >>.editmsg + { + echo + git-var GIT_COMMITTER_IDENT | sed -e ' + s/>.*/>/ + s/^/Signed-off-by: / + ' + } >>.editmsg ;; esac @@ -153,13 +156,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 +190,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 +224,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."