mirror of
https://github.com/git/git
synced 2024-08-23 18:00:25 +00:00
Merge branch 'ew/svn-crlf'
"git svn" has been updated to strip CRs in the commit messages, as recent versions of Subversion rejects them. * ew/svn-crlf: git-svn: convert CRLF to LF in commit message to SVN
This commit is contained in:
commit
63dd544897
|
@ -1865,6 +1865,7 @@ sub get_commit_entry {
|
|||
}
|
||||
}
|
||||
$msgbuf =~ s/\s+$//s;
|
||||
$msgbuf =~ s/\r\n/\n/sg; # SVN 1.6+ disallows CRLF
|
||||
if ($Git::SVN::_add_author_from && defined($author)
|
||||
&& !$saw_from) {
|
||||
$msgbuf .= "\n\nFrom: $author";
|
||||
|
|
27
t/t9169-git-svn-dcommit-crlf.sh
Executable file
27
t/t9169-git-svn-dcommit-crlf.sh
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/sh
|
||||
|
||||
test_description='git svn dcommit CRLF'
|
||||
. ./lib-git-svn.sh
|
||||
|
||||
test_expect_success 'setup commit repository' '
|
||||
svn_cmd mkdir -m "$test_description" "$svnrepo/dir" &&
|
||||
git svn clone "$svnrepo" work &&
|
||||
(
|
||||
cd work &&
|
||||
echo foo >>foo &&
|
||||
git update-index --add foo &&
|
||||
printf "a\\r\\n\\r\\nb\\r\\nc\\r\\n" >cmt &&
|
||||
p=$(git rev-parse HEAD) &&
|
||||
t=$(git write-tree) &&
|
||||
cmt=$(git commit-tree -p $p $t <cmt) &&
|
||||
git update-ref refs/heads/master $cmt &&
|
||||
git cat-file commit HEAD | tail -n4 >out &&
|
||||
test_cmp cmt out &&
|
||||
git svn dcommit &&
|
||||
printf "a\\n\\nb\\nc\\n" >exp &&
|
||||
git cat-file commit HEAD | sed -ne 6,9p >out &&
|
||||
test_cmp exp out
|
||||
)
|
||||
'
|
||||
|
||||
test_done
|
Loading…
Reference in a new issue