{"thread":{"id":"29556","subject":"git-svn and subversion 1.7: testcase failures due to SVN 1.7 changes","startedAt":"2012-02-05T22:00:23Z","lastAt":"2012-02-05T22:00:23Z","messageCount":1,"participants":["Robin H. Johnson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"183930","messageId":"20120205220023.GB8104@orbis-terrarum.net","threadId":"29556","inReplyTo":null,"subject":"git-svn and subversion 1.7: testcase failures due to SVN 1.7 changes","fromName":"Robin H. Johnson","fromEmail":"robbat2@gentoo.org","sentAt":"2012-02-05T22:00:23Z","receivedAt":"2012-02-05T22:00:23Z","isPatch":false,"sender":{"key":"robbat2@gentoo.org","avatar":"https://avatars.githubusercontent.com/u/373898?v=4"},"body":"Newer versions of SVN hate a whitespace in any of the URLs (repo, branches,\ntags), and this sinks all of the git-svn tests. I've tried to trace and fix it,\nchanging the canonicalize_path and canonicalize_url calls, but this ends up\nmaking Git-svn very unhappy when it converts back to filenames.\n\nI've seen some prior mentions on this list, but nobody seems to have really\nsolved it.\n\nI've got a testcase partial workaround we avoid that by replaced the space in\nthe testcase working dir with an underscore.\n\nExample failure:\nInitialized empty Git repository in /dev/shm/portage/dev-vcs/git-9999/work/git-9999/t/trash directory.t9155/git_project/.git/\nsvn: E235000: In file 'subversion/libsvn_subr/dirent_uri.c' line 2291: assertion failed (svn_uri_is_canonical(url, pool))\n   \nWith this workaround the following tests still fail: t9100 t9118 t9120\nWithout it, MOST of t91* fails, due to the space tripping up the\nsvn_uri_is_canonical internal call: t9100 t9101 t9102 t9103 t9104 t9105 t9106\nt9107 t9108 t9109 t9110 t9111 t9112 t9114 t9115 t9116 t9117 t9118 t9120 t9121\nt9122 t9123 t9124 t9125 t9127 t9128 t9129 t9130 t9131 t9132 t9133 t9134 t9135\nt9136 t9137 t9138 t9139 t9140 t9141 t9142 t9143 t9144 t9145 t9146 t9150 t9151\nt9152 t9153 t9154 t9155 t9156 t9157 t9158 t9159 t9160 t9161 t9162\n   \ngit-svn actually needs to be fixed here, but this change is useful for\ntesting it.\n\nworkaround:   \nsed -i \\\n   -e 's/trash directory/trash_directory/g' \\\n   test-lib.sh t0000-basic.sh Makefile\n\nFailures with the workaround:\nt9100-git-svn-basic.sh:\n- not ok - 11 executable file becomes a symlink to bar/zzz (file)\n===\nr5 = a74fcb37aadb2afb532b100932220f7b59108ca4 (refs/remotes/git-svn)\nDone committing 1 revisions to SVN\nUpdating '.git/svn/refs/remotes/git-svn/svn-tree':\nsvn: 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)\n./lib-git-svn.sh: line 61:  1922 Aborted                 svn \"$orig_svncmd\" --config-dir \"$svnconf\" \"$@\"\nnot ok - 11 executable file becomes a symlink to bar/zzz (file)\n===\n\n- not ok - 12 new symlink is added to a file that was also just made executable\n- not ok - 13 modify a symlink to become a file\nBoth of these fail as a side effect of the one above.\n===\nr6 = 880d9fc9b4ffda5e3851e86b587af36d6c3ddaf8 (refs/remotes/git-svn)\nDone committing 1 revisions to SVN\nsvn: 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.\nsvn: 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.\nsvn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)\nnot ok - 12 new symlink is added to a file that was also just made executable\n===\n\nAll of t9118/t9120 are a direct result of not having it happy with the escaping.\n\nt9118-git-svn-funky-branch-names.sh:\n- not ok - 2 test clone with funky branch names\n- not ok - 3 test dcommit to funky branch\n- not ok - 4 test dcommit to scary branch\n- not ok - 5 test dcommit to trailing_dotlock branch\n\nt9120-git-svn-clone-with-percent-escapes.sh\n- not ok - 7 test clone --stdlayout with percent escapes\n===\nr1 = 60417f2d87410b4775fdd2a04e85d8d468e05e04 (refs/remotes/trunk)\nFound 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\nFound branch parent: (refs/remotes/b) 60417f2d87410b4775fdd2a04e85d8d468e05e04\nFollowing parent with do_switch\nperl: subversion/libsvn_subr/dirent_uri.c:1519: uri_skip_ancestor: Assertion `svn_uri_is_canonical(child_uri, ((void *)0))' failed.\nerror: git-svn died of signal 6\nnot ok - 7 test clone --stdlayout with percent escapes\n===\n\n- not ok - 8 test clone -s with unescaped space\n===\nInitialized 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/\nsvn: E235000: In file 'subversion/libsvn_subr/dirent_uri.c' line 2291: assertion failed (svn_uri_is_canonical(url, pool))\nerror: git-svn died of signal 6\nnot ok - 8 test clone -s with unescaped space\n===\n\n\n\n-- \nRobin Hugh Johnson\nGentoo Linux: Developer, Trustee & Infrastructure Lead\nE-Mail     : robbat2@gentoo.org\nGnuPG FP   : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85\n"}]}