mirror of
https://github.com/git/git
synced 2024-11-05 18:59:29 +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
2 changed files with 28 additions and 0 deletions
|
@ -1865,6 +1865,7 @@ sub get_commit_entry {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$msgbuf =~ s/\s+$//s;
|
$msgbuf =~ s/\s+$//s;
|
||||||
|
$msgbuf =~ s/\r\n/\n/sg; # SVN 1.6+ disallows CRLF
|
||||||
if ($Git::SVN::_add_author_from && defined($author)
|
if ($Git::SVN::_add_author_from && defined($author)
|
||||||
&& !$saw_from) {
|
&& !$saw_from) {
|
||||||
$msgbuf .= "\n\nFrom: $author";
|
$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