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