1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-10-28 21:07:52 +01:00

test case for regression caused by git-svn empty symlink fix

Commit dbc6c74d08 "git-svn: handle empty
files marked as symlinks in SVN" caused a regression in an unusual case
where a branch has been created in SVN, later deleted and then created
again from another branch point and the original branch point had empty
files not in the new branch. In some cases git svn fetch will then fail
while trying to fetch the empty file from the wrong SVN revision.

This adds a test case that reproduces the issue.

[ew: added additional test to ensure file was created correctly
     made test file executable ]

Signed-off-by: Anton Gyllenberg <anton@iki.fi>
Acked-by: Eric Wong <normalperson@yhbt.net>
This commit is contained in:
Anton Gyllenberg 2009-02-11 00:38:45 +02:00 committed by Eric Wong
parent 8841b37f2f
commit 39111f6b7a
2 changed files with 208 additions and 0 deletions

View file

@ -0,0 +1,16 @@
#!/bin/sh
test_description='test moved svn branch with missing empty files'
. ./lib-git-svn.sh
test_expect_success 'load svn dumpfile' '
svnadmin load "$rawsvnrepo" < "${TEST_DIRECTORY}/t9135/svn.dump"
'
test_expect_success 'clone using git svn' 'git svn clone -s "$svnrepo" x'
test_expect_success 'test that b1 exists and is empty' '
(cd x && test -f b1 && ! test -s b1)
'
test_done

192
t/t9135/svn.dump Normal file
View file

@ -0,0 +1,192 @@
SVN-fs-dump-format-version: 2
UUID: 1f80e919-e9e3-4d80-a3ae-d9f21095e27b
Revision-number: 0
Prop-content-length: 56
Content-length: 56
K 8
svn:date
V 27
2009-02-10T19:23:16.424027Z
PROPS-END
Revision-number: 1
Prop-content-length: 123
Content-length: 123
K 7
svn:log
V 20
init standard layout
K 10
svn:author
V 8
john.doe
K 8
svn:date
V 27
2009-02-10T19:23:17.195072Z
PROPS-END
Node-path: branches
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: trunk
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Revision-number: 2
Prop-content-length: 121
Content-length: 121
K 7
svn:log
V 18
branch-b off trunk
K 10
svn:author
V 8
john.doe
K 8
svn:date
V 27
2009-02-10T19:23:19.160095Z
PROPS-END
Node-path: branches/branch-b
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 1
Node-copyfrom-path: trunk
Prop-content-length: 34
Content-length: 34
K 13
svn:mergeinfo
V 0
PROPS-END
Revision-number: 3
Prop-content-length: 120
Content-length: 120
K 7
svn:log
V 17
add empty file b1
K 10
svn:author
V 8
john.doe
K 8
svn:date
V 27
2009-02-10T19:23:20.194568Z
PROPS-END
Node-path: branches/branch-b/b1
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 0
Text-content-md5: d41d8cd98f00b204e9800998ecf8427e
Content-length: 10
PROPS-END
Revision-number: 4
Prop-content-length: 110
Content-length: 110
K 7
svn:log
V 8
branch-c
K 10
svn:author
V 8
john.doe
K 8
svn:date
V 27
2009-02-10T19:23:21.169100Z
PROPS-END
Node-path: branches/branch-c
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 3
Node-copyfrom-path: trunk
Revision-number: 5
Prop-content-length: 126
Content-length: 126
K 7
svn:log
V 23
oops, wrong branchpoint
K 10
svn:author
V 8
john.doe
K 8
svn:date
V 27
2009-02-10T19:23:21.253557Z
PROPS-END
Node-path: branches/branch-c
Node-action: delete
Revision-number: 6
Prop-content-length: 127
Content-length: 127
K 7
svn:log
V 24
branch-c off of branch-b
K 10
svn:author
V 8
john.doe
K 8
svn:date
V 27
2009-02-10T19:23:21.314659Z
PROPS-END
Node-path: branches/branch-c
Node-kind: dir
Node-action: add
Node-copyfrom-rev: 5
Node-copyfrom-path: branches/branch-b
Prop-content-length: 34
Content-length: 34
K 13
svn:mergeinfo
V 0
PROPS-END