Subject: Bug: git-rebase goofs up \n in commit messages

From: Szekeres Istvan <[email-masked]>
Date: Fri, 25 May 2007 23:11:26 +0200

Hello,

while playing with git I found the following bug: if a commit message
contains "\n" (as a string, not as a character), git-rebase changes this
string into a literal newline character.

This is how to reproduce it:

mkdir tmp
cd tmp
git init-db
echo xx > xx.txt
git add xx.txt
git commit -m foo
echo xx >> xx.txt
git add xx.txt
git commit -m foo
git branch other 'HEAD^'
git checkout other
echo yy > yy.txt
git add yy.txt
git commit -m 'foo \\n bar'
git log 'HEAD^..'              [1]
git rebase master
git log 'HEAD^..'              [2]

The output of [1] is the following (correctly):

commit 694daa542b83dc1bbd6c070630f73c9a111f6e40
Author: Istvan Szekeres <[email-masked]>
Date:   Fri May 25 23:09:32 2007 +0200

    foo \n bar

The output of [2] is the following (wrong!):
commit 68ba80d2927d4e21c7a1d1d758f9023dbe063bde
Author: Istvan Szekeres <[email-masked]>
Date:   Fri May 25 22:58:28 2007 +0200

    foo
     bar
....

I think this is a bug.

Best regards,
Istvan