Stefan Sperling wrote:
> Sounds like we should apply your Ra.pm patch and also backport r1187692.
I applied r1187692 on top of the 1.7.x branch here to see how it
fares. This time:
$ svn update
Updating '.':
svn: E155010: The node '/home/jrn/src/git/t/trash
directory.t9100-git-svn-basic/.git/svn/refs/remotes/git-svn/svn-tree/exec.sh'
was not found.
Haven't tried trunk yet. Reproduction recipe below[1].
> The test suite you mentioned which triggers the assertion failure fixed
> by your Ra.pm patch is the git-svn test suite, is it? I think our own
> test suite should be updated to check for this, too.
Yep, it's t9100-git-svn-basic.sh from the git-svn test suite. Adding
tests to the svn test suite to cover these things sounds like a very
good idea. I'll try to get time to do so and will be happy to review
tests if someone else starts the work.
Thanks for your thoughtfulness,
Jonathan
[1] Recipe:
svnadmin create /tmp/test.repo
<test.dump svnadmin load /tmp/test.repo
svn checkout -r4 file:///tmp/test.repo working-copy
cd working-copy
svn update
Expected result: executable changes to symlink.
Actual result: svn: E155010: The node '/tmp/working-copy/exec.sh' was not found.
SVN-fs-dump-format-version: 2
UUID: 8cef9f1e-5b59-4a06-bea4-eb12b2163c91
Revision-number: 0
Prop-content-length: 56
Content-length: 56
K 8
svn:date
V 27
2012-01-02T03:29:36.756499Z
PROPS-END
Revision-number: 1
Prop-content-length: 116
Content-length: 116
K 10
svn:author
V 3
jrn
K 8
svn:date
V 27
2012-01-02T03:29:37.161828Z
K 7
svn:log
V 18
import for git svn
PROPS-END
Node-path: bar
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: bar/zzz
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 4
Text-content-md5: 33b02bc15ce9557d2dd8484d58f95ac4
Text-content-sha1: 131521d12231fdff3bf26788ff4ad66d068340e0
Content-length: 14
PROPS-END
zzz
Node-path: dir
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b/c
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b/c/d
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b/c/d/e
Node-kind: dir
Node-action: add
Prop-content-length: 10
Content-length: 10
PROPS-END
Node-path: dir/a/b/c/d/e/file
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 9
Text-content-md5: 3fd46fe46fcdcf062c802ca60dc826d5
Text-content-sha1: 69dea82f92d5e1e1d6712bb7533d7ba399dea249
Content-length: 19
PROPS-END
deep dir
Node-path: exec.sh
Node-kind: file
Node-action: add
Prop-content-length: 35
Text-content-length: 10
Text-content-md5: 3e2b31c72181b87149ff995e7202c0e3
Text-content-sha1: bd971bec88149956458a10fc9c5ecb3eb99dd452
Content-length: 45
K 14
svn:executable
V 0
PROPS-END
#!/bin/sh
Node-path: foo
Node-kind: file
Node-action: add
Prop-content-length: 10
Text-content-length: 4
Text-content-md5: d3b07384d113edec49eaa6238ad5ff00
Text-content-sha1: f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
Content-length: 14
PROPS-END
foo
Node-path: foo.link
Node-kind: file
Node-action: add
Prop-content-length: 33
Text-content-length: 8
Text-content-md5: 1043146e49ef02cab12eef865cb34ff3
Text-content-sha1: a38ef243b9b0aefb5462453b6c5d13b35f31c2f5
Content-length: 41
K 11
svn:special
V 1
*
PROPS-END
link foo
Revision-number: 2
Prop-content-length: 130
Content-length: 130
K 10
svn:author
V 3
jrn
K 8
svn:date
V 27
2012-01-02T03:29:39.685029Z
K 7
svn:log
V 32
try a deep --rmdir with a commit
PROPS-END
Node-path: dir/file
Node-kind: file
Node-action: add
Node-copyfrom-rev: 1
Node-copyfrom-path: dir/a/b/c/d/e/file
Text-copy-source-md5: 3fd46fe46fcdcf062c802ca60dc826d5
Text-copy-source-sha1: 69dea82f92d5e1e1d6712bb7533d7ba399dea249
Text-content-length: 9
Text-content-md5: 3fd46fe46fcdcf062c802ca60dc826d5
Text-content-sha1: 69dea82f92d5e1e1d6712bb7533d7ba399dea249
Content-length: 9
deep dir
Node-path: dir/a
Node-action: delete
Node-path: file
Node-kind: file
Node-action: add
Node-copyfrom-rev: 1
Node-copyfrom-path: dir/a/b/c/d/e/file
Text-copy-source-md5: 3fd46fe46fcdcf062c802ca60dc826d5
Text-copy-source-sha1: 69dea82f92d5e1e1d6712bb7533d7ba399dea249
Text-content-length: 9
Text-content-md5: 3fd46fe46fcdcf062c802ca60dc826d5
Text-content-sha1: 69dea82f92d5e1e1d6712bb7533d7ba399dea249
Content-length: 9
deep dir
Revision-number: 3
Prop-content-length: 131
Content-length: 131
K 10
svn:author
V 3
jrn
K 8
svn:date
V 27
2012-01-02T03:29:44.687762Z
K 7
svn:log
V 33
remove executable bit from a file
PROPS-END
Node-path: exec.sh
Node-kind: file
Node-action: change
Prop-content-length: 10
Text-content-length: 10
Text-content-md5: 3e2b31c72181b87149ff995e7202c0e3
Text-content-sha1: bd971bec88149956458a10fc9c5ecb3eb99dd452
Content-length: 20
PROPS-END
#!/bin/sh
Revision-number: 4
Prop-content-length: 126
Content-length: 126
K 10
svn:author
V 3
jrn
K 8
svn:date
V 27
2012-01-02T03:29:46.164013Z
K 7
svn:log
V 28
add executable bit back file
PROPS-END
Node-path: exec.sh
Node-kind: file
Node-action: change
Prop-content-length: 36
Text-content-length: 10
Text-content-md5: 3e2b31c72181b87149ff995e7202c0e3
Text-content-sha1: bd971bec88149956458a10fc9c5ecb3eb99dd452
Content-length: 46
K 14
svn:executable
V 1
*
PROPS-END
#!/bin/sh
Revision-number: 5
Prop-content-length: 149
Content-length: 149
K 10
svn:author
V 3
jrn
K 8
svn:date
V 27
2012-01-02T03:29:47.615810Z
K 7
svn:log
V 51
executable file becomes a symlink to bar/zzz (file)
PROPS-END
Node-path: exec.sh
Node-kind: file
Node-action: change
Prop-content-length: 33
Text-content-length: 12
Text-content-md5: f138693371665cc117742508761d684d
Text-content-sha1: c2878c3b754fc585dfeeb368040990dc5e855dff
Content-length: 45
K 11
svn:special
V 1
*
PROPS-END
link bar/zzz