Merge branch 'maint'
* maint: Fix git-svn to handle svn not reporting the md5sum of a file, and test. Fix mishandling of $Id$ expanded in the repository copy in convert.c More echo "$user_message" fixes. Add tests for the last two fixes. git-commit: use printf '%s\n' instead of echo on user-supplied strings git-am: use printf instead of echo on user-supplied strings Documentation: Add definition of "evil merge" to GIT Glossary Replace the last 'dircache's by 'index' Documentation: Clean up links in GIT Glossary
This commit is contained in:
@ -16,16 +16,16 @@ test_expect_success setup '
|
||||
|
||||
for i in 1 2 5 6 A B C 7 8 9 10; do echo "$i"; done >file &&
|
||||
git update-index file &&
|
||||
git commit -m "Side change #1" &&
|
||||
git commit -m "Side changes #1" &&
|
||||
|
||||
for i in D E F; do echo "$i"; done >>file &&
|
||||
git update-index file &&
|
||||
git commit -m "Side change #2" &&
|
||||
git commit -m "Side changes #2" &&
|
||||
git tag C2 &&
|
||||
|
||||
for i in 5 6 1 2 3 A 4 B C 7 8 9 10 D E F; do echo "$i"; done >file &&
|
||||
git update-index file &&
|
||||
git commit -m "Side change #3" &&
|
||||
git commit -m "Side changes #3 with \\n backslash-n in it." &&
|
||||
|
||||
git checkout master &&
|
||||
git diff-tree -p C2 | git apply --index &&
|
||||
@ -66,4 +66,23 @@ test_expect_success "format-patch --ignore-if-in-upstream result applies" '
|
||||
test $cnt = 2
|
||||
'
|
||||
|
||||
test_expect_success 'commit did not screw up the log message' '
|
||||
|
||||
git cat-file commit side | grep "^Side .* with .* backslash-n"
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'format-patch did not screw up the log message' '
|
||||
|
||||
grep "^Subject: .*Side changes #3 with .* backslash-n" patch0 &&
|
||||
grep "^Subject: .*Side changes #3 with .* backslash-n" patch1
|
||||
|
||||
'
|
||||
|
||||
test_expect_success 'replay did not screw up the log message' '
|
||||
|
||||
git cat-file commit rebuild-1 | grep "^Side .* with .* backslash-n"
|
||||
|
||||
'
|
||||
|
||||
test_done
|
||||
|
45
t/t9112-git-svn-md5less-file.sh
Executable file
45
t/t9112-git-svn-md5less-file.sh
Executable file
@ -0,0 +1,45 @@
|
||||
test_description='test that git handles an svn repository with missing md5sums'
|
||||
|
||||
. ./lib-git-svn.sh
|
||||
|
||||
# Loading a node from a svn dumpfile without a Text-Content-Length
|
||||
# field causes svn to neglect to store or report an md5sum. (it will
|
||||
# calculate one if you had put Text-Content-Length: 0). This showed
|
||||
# up in a repository creted with cvs2svn.
|
||||
|
||||
cat > dumpfile.svn <<EOF
|
||||
SVN-fs-dump-format-version: 1
|
||||
|
||||
Revision-number: 1
|
||||
Prop-content-length: 98
|
||||
Content-length: 98
|
||||
|
||||
K 7
|
||||
svn:log
|
||||
V 0
|
||||
|
||||
K 10
|
||||
svn:author
|
||||
V 4
|
||||
test
|
||||
K 8
|
||||
svn:date
|
||||
V 27
|
||||
2007-05-06T12:37:01.153339Z
|
||||
PROPS-END
|
||||
|
||||
Node-path: md5less-file
|
||||
Node-kind: file
|
||||
Node-action: add
|
||||
Prop-content-length: 10
|
||||
Content-length: 10
|
||||
|
||||
PROPS-END
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_success 'load svn dumpfile' "svnadmin load $rawsvnrepo < dumpfile.svn"
|
||||
|
||||
test_expect_success 'initialize git-svn' "git-svn init $svnrepo"
|
||||
test_expect_success 'fetch revisions from svn' 'git-svn fetch'
|
||||
test_done
|
Reference in New Issue
Block a user