Tentative fix to git-commit-script
The recent change to give the multiple commit message source was not
carrying over the authorship information from -C/-c commits correctly.
The export of the environment variable happens only in the subprocess,
not the main process that eventually runs git-commit-tree.
The right fix might be to teach git-commit-script to grok the From:
and Date: lines at the beginning of the commit message just like
git-applymbox knows how, but this has to do until that enhancement
happens.
Signed-off-by: Junio C Hamano <junkio@cox.net>
diff --git a/git-commit-script b/git-commit-script
index 5e6b877..790f07c 100755
--- a/git-commit-script
+++ b/git-commit-script
@@ -167,6 +167,7 @@
no_edit=
else
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"
@@ -177,10 +178,13 @@
no_edit=
esac
echo "#"
+ } |
+ git-stripspace >.editmsg
PARENTS="-p HEAD -p MERGE_HEAD"
elif test "$log_message" != ''
then
- echo "$log_message"
+ echo "$log_message" |
+ git-stripspace >.editmsg
elif test "$logfile" != ""
then
if test "$logfile" = -
@@ -190,7 +194,8 @@
cat
else
cat <"$logfile"
- fi
+ fi |
+ git-stripspace >.editmsg
elif test "$use_commit" != ""
then
pick_author_script='
@@ -220,9 +225,10 @@
export GIT_AUTHOR_EMAIL
export GIT_AUTHOR_DATE
git-cat-file commit "$use_commit" |
- sed -e '1,/^$/d'
- fi |
- git-stripspace >.editmsg
+ sed -e '1,/^$/d' |
+ git-stripspace >.editmsg
+ fi
+
case "$signoff" in
t)
git-var GIT_COMMITTER_IDENT | sed -e '