diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-08 13:33:15 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-08 13:33:15 -0700 |
commit | 9c065315f70fb1086ef16fc37e72e3edbaf3e919 (patch) | |
tree | 5717f05f0dddfe22bff7b264c5c0b385fa29b0c1 /git-commit-script | |
parent | cvs-migration: add more of a header to the "annotate" discussion (diff) | |
download | tgif-9c065315f70fb1086ef16fc37e72e3edbaf3e919.tar.xz |
Make "git commit" work correctly in the presense of a manual merge
This has gotten only very light testing, but something like this is
clearly necessary and did the right thing for the one case I threw at
it.
Diffstat (limited to 'git-commit-script')
-rwxr-xr-x | git-commit-script | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/git-commit-script b/git-commit-script index e818d0a35c..903c8dfabd 100755 --- a/git-commit-script +++ b/git-commit-script @@ -1,5 +1,16 @@ #!/bin/sh -git-status-script > .editmsg +: ${GIT_DIR=.git} +PARENTS="HEAD" +if [ -f $GIT_DIR/MERGE_HEAD ]; then + echo "#" + echo "# It looks like your may be committing a MERGE." + echo "# If this is not correct, please remove the file" + echo "# $GIT_DIR/MERGE_HEAD" + echo "# and try again" + echo "#" + PARENTS="HEAD -p MERGE_HEAD" +fi > .editmsg +git-status-script >> .editmsg if [ "$?" != "0" ] then cat .editmsg @@ -9,5 +20,5 @@ ${VISUAL:-${EDITOR:-vi}} .editmsg grep -v '^#' < .editmsg | git-stripspace > .cmitmsg [ -s .cmitmsg ] || exit 1 tree=$(git-write-tree) || exit 1 -commit=$(cat .cmitmsg | git-commit-tree $tree -p HEAD) || exit 1 +commit=$(cat .cmitmsg | git-commit-tree $tree -p $PARENTS) || exit 1 echo $commit > ${GIT_DIR:-.git}/HEAD |