Skip to content

Commit

Permalink
git-commit: filter out log message lines only when editor was run.
Browse files Browse the repository at this point in the history
The current behaviour strips out lines starting with a # even when fed
through stdin or -m.  This is particularly bad when importing history from
another SCM (tailor 0.9.23 uses git-commit).  In the best cases all lines
are stripped and the commit fails with a confusing "empty log message"
error, but in many cases the commit is done, with loss of information.

Note that it is quite peculiar to just have "#" handled as a leading
comment char here.  One commonly meet CVS: or CG: or STG: as prefixes, and
using GIT: would be more robust as well as consistent with other commit
tools.  However, that would break any tool relying on the # (if any).

Signed-off-by: Yann Dirson <ydirson@altern.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Yann Dirson authored and Junio C Hamano committed Jun 25, 2006
1 parent 817151e commit 29f4ad8
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions git-commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -693,13 +693,18 @@ t)
fi
esac

sed -e '
/^diff --git a\/.*/{
s///
q
}
/^#/d
' "$GIT_DIR"/COMMIT_EDITMSG |
if test -z "$no_edit"
then
sed -e '
/^diff --git a\/.*/{
s///
q
}
/^#/d
' "$GIT_DIR"/COMMIT_EDITMSG
else
cat "$GIT_DIR"/COMMIT_EDITMSG
fi |
git-stripspace >"$GIT_DIR"/COMMIT_MSG

if cnt=`grep -v -i '^Signed-off-by' "$GIT_DIR"/COMMIT_MSG |
Expand Down

0 comments on commit 29f4ad8

Please sign in to comment.