Newer versions of SVN hate a whitespace in any of the URLs (repo, branches, tags), and this sinks all of the git-svn tests. I've tried to trace and fix it, changing the canonicalize_path and canonicalize_url calls, but this ends up making Git-svn very unhappy when it converts back to filenames. I've seen some prior mentions on this list, but nobody seems to have really solved it. I've got a testcase partial workaround we avoid that by replaced the space in the testcase working dir with an underscore. Example failure: Initialized empty Git repository in /dev/shm/portage/dev-vcs/git-9999/work/git-9999/t/trash directory.t9155/git_project/.git/ svn: E235000: In file 'subversion/libsvn_subr/dirent_uri.c' line 2291: assertion failed (svn_uri_is_canonical(url, pool)) With this workaround the following tests still fail: t9100 t9118 t9120 Without it, MOST of t91* fails, due to the space tripping up the svn_uri_is_canonical internal call: t9100 t9101 t9102 t9103 t9104 t9105 t9106 t9107 t9108 t9109 t9110 t9111 t9112 t9114 t9115 t9116 t9117 t9118 t9120 t9121 t9122 t9123 t9124 t9125 t9127 t9128 t9129 t9130 t9131 t9132 t9133 t9134 t9135 t9136 t9137 t9138 t9139 t9140 t9141 t9142 t9143 t9144 t9145 t9146 t9150 t9151 t9152 t9153 t9154 t9155 t9156 t9157 t9158 t9159 t9160 t9161 t9162 git-svn actually needs to be fixed here, but this change is useful for testing it. workaround: sed -i \ -e 's/trash directory/trash_directory/g' \ test-lib.sh t0000-basic.sh Makefile Failures with the workaround: t9100-git-svn-basic.sh: - not ok - 11 executable file becomes a symlink to bar/zzz (file) === r5 = a74fcb37aadb2afb532b100932220f7b59108ca4 (refs/remotes/git-svn) Done committing 1 revisions to SVN Updating '.git/svn/refs/remotes/git-svn/svn-tree': svn: E235000: In file 'subversion/libsvn_wc/update_editor.c' line 1582: assertion failed (action == svn_wc_conflict_action_edit || action == svn_wc_conflict_action_delete || action == svn_wc_conflict_action_replace) ./lib-git-svn.sh: line 61: 1922 Aborted svn "$orig_svncmd" --config-dir "$svnconf" "$@" not ok - 11 executable file becomes a symlink to bar/zzz (file) === - not ok - 12 new symlink is added to a file that was also just made executable - not ok - 13 modify a symlink to become a file Both of these fail as a side effect of the one above. === r6 = 880d9fc9b4ffda5e3851e86b587af36d6c3ddaf8 (refs/remotes/git-svn) Done committing 1 revisions to SVN svn: E155004: Working copy '/dev/shm/portage/dev-vcs/git-1.7.9/work/git-1.7.9/t/trash_directory.t9100-git-svn-basic/.git/svn/refs/remotes/git-svn/svn-tree' locked. svn: E155004: '/dev/shm/portage/dev-vcs/git-1.7.9/work/git-1.7.9/t/trash_directory.t9100-git-svn-basic/.git/svn/refs/remotes/git-svn/svn-tree' is already locked. svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) not ok - 12 new symlink is added to a file that was also just made executable === All of t9118/t9120 are a direct result of not having it happy with the escaping. t9118-git-svn-funky-branch-names.sh: - not ok - 2 test clone with funky branch names - not ok - 3 test dcommit to funky branch - not ok - 4 test dcommit to scary branch - not ok - 5 test dcommit to trailing_dotlock branch t9120-git-svn-clone-with-percent-escapes.sh - not ok - 7 test clone --stdlayout with percent escapes === r1 = 60417f2d87410b4775fdd2a04e85d8d468e05e04 (refs/remotes/trunk) Found possible branch point: file:///dev/shm/portage/dev-vcs/git-1.7.9/work/git-1.7.9/t/trash_directory.t9120-git-svn-clone-with-percent-escapes/svnrepo/pr ject/trunk => file:///dev/shm/portage/dev-vcs/git-1.7.9/work/git-1.7.9/t/trash_directory.t9120-git-svn-clone-with-percent-escapes/svnrepo/pr ject/branches/b, 1 Found branch parent: (refs/remotes/b) 60417f2d87410b4775fdd2a04e85d8d468e05e04 Following parent with do_switch perl: subversion/libsvn_subr/dirent_uri.c:1519: uri_skip_ancestor: Assertion `svn_uri_is_canonical(child_uri, ((void *)0))' failed. error: git-svn died of signal 6 not ok - 7 test clone --stdlayout with percent escapes === - not ok - 8 test clone -s with unescaped space === Initialized empty Git repository in /dev/shm/portage/dev-vcs/git-1.7.9/work/git-1.7.9/t/trash_directory.t9120-git-svn-clone-with-percent-escapes/space/.git/ svn: E235000: In file 'subversion/libsvn_subr/dirent_uri.c' line 2291: assertion failed (svn_uri_is_canonical(url, pool)) error: git-svn died of signal 6 not ok - 8 test clone -s with unescaped space === -- Robin Hugh Johnson Gentoo Linux: Developer, Trustee & Infrastructure Lead E-Mail : robbat2@xxxxxxxxxx GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
Attachment:
signature.asc
Description: Digital signature