{"thread":{"id":"8003","subject":"importing multi-project svn repositories","startedAt":"2007-05-06T18:56:32Z","lastAt":"2007-05-13T16:58:14Z","messageCount":9,"participants":["David Hanson","Steven Grimm","Dave Hanson","Junio C Hamano","Johannes Schindelin","Eric Wong"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"41236","messageId":"C05C5EF4-EC68-490B-946E-630117393F4E@drhanson.net","threadId":"8003","inReplyTo":null,"subject":"importing multi-project svn repositories","fromName":"David Hanson","fromEmail":"drh@drhanson.net","sentAt":"2007-05-06T18:56:32Z","receivedAt":"2007-05-06T18:56:32Z","isPatch":false,"sender":{"key":"drh@drhanson.net","avatar":"https://gravatar.com/avatar/44adb998476b2890df0b0f252bbbc32635a7022b67a2388a1c894818c6e94345?d=mp&s=160"},"body":"What's the recommended way to import the full history from an svn  \nrepository organized as a group of projects? E.g., as described at  \nhttp://svnbook.red-bean.com/nightly/en/ \nsvn.reposadmin.planning.html#svn.reposadmin.projects.chooselayout:\n\n/\n    calc/\n       trunk/\n       tags/\n       branches/\n    calendar/\n       trunk/\n       tags/\n       branches/\n    spreadsheet/\n       trunk/\n       tags/\n       branches/\n    …\n\nI'd like to import calc at the top level, put calc/tags/foo in git's  \ntags/calc/foo and calc/branches/baz in git's heads/calc/baz. Ditto  \nfor calendar, spreadsheet, etc.\n\nI suspect there's a way to use git-svnimport repeatedly with  \nappropriate editing of .git/svn2git.\nthanks,\ndave h\n"},{"id":"41349","messageId":"463F6A95.30207@midwinter.com","threadId":"8003","inReplyTo":"C05C5EF4-EC68-490B-946E-630117393F4E@drhanson.net","subject":"Re: importing multi-project svn repositories","fromName":"Steven Grimm","fromEmail":"koreth@midwinter.com","sentAt":"2007-05-07T18:06:13Z","receivedAt":"2007-05-07T18:06:13Z","isPatch":false,"sender":{"key":"koreth@midwinter.com","avatar":"https://gravatar.com/avatar/71b4d2e8b62f168bdc9e9205341159e3567003b4f9e2127c617c5fa0a1f5bad2?d=mp&s=160"},"body":"David Hanson wrote:\n> I'd like to import calc at the top level, put calc/tags/foo in git's \n> tags/calc/foo and calc/branches/baz in git's heads/calc/baz. Ditto for \n> calendar, spreadsheet, etc.\n\nTry git-svn rather than git-svnimport. The latter, AFAIK, is no longer \nreally maintained. The former will do what you want pretty easily. You \njust run it like\n\ngit svn clone --prefix=calc/ -T trunk -t tags -b branches \\\n    http://svn/repo/url/calc gitrepo\n\nand it'll create a git repository called \"gitrepo\" with the calc \nproject's trunk/tags/branches as git tags. Then do\n\ngit svn clone --prefix=spreadsheet/ -T trunk -t tags -b branches \\\n    http://svn/repo/url/spreadsheet gitrepo\n\nand it will add the spreadsheet branches to the same repo. The \n\"--prefix\" option is needed to keep the branch namespaces from \noverlapping. git-svn will make an attempt to figure out the correct \nhistory of the branches and tags relative to the trunk so they look like \nsane git branches.\n\nIf you want to be able to check out calc and spreadsheet simultaneously, \nthen you probably need to use git's submodule support, which is kind of \na work in progress at the moment.\n\n-Steve\n"},{"id":"41406","messageId":"9fb1551c0705072048u3ff85ea7n5166596855b8f322@mail.gmail.com","threadId":"8003","inReplyTo":"463F6A95.30207@midwinter.com","subject":"Re: importing multi-project svn repositories","fromName":"Dave Hanson","fromEmail":"drh@drhanson.net","sentAt":"2007-05-08T03:48:26Z","receivedAt":"2007-05-08T03:48:26Z","isPatch":false,"sender":{"key":"drh@drhanson.net","avatar":"https://gravatar.com/avatar/44adb998476b2890df0b0f252bbbc32635a7022b67a2388a1c894818c6e94345?d=mp&s=160"},"body":"On 5/7/07, Steven Grimm <koreth@midwinter.com> wrote:\n> David Hanson wrote:\n> > I'd like to import calc at the top level, put calc/tags/foo in git's\n> > tags/calc/foo and calc/branches/baz in git's heads/calc/baz. Ditto for\n> > calendar, spreadsheet, etc.\n>\n> Try git-svn rather than git-svnimport. The latter, AFAIK, is no longer\n> really maintained. ...\n\nThanks for the tip. I was running git 1.5.0, which didn't support\n\"clone\" to git-svn. I upgraded to 1.5.1.3 and followed your\nsuggestions.\n\nIf I decide to flush the svn repository in favor of git, I'll probably\ndo some manual rearrangement so that commands like \"git tag -l\" gives\nuseful results.\nthanks,\ndave h\n"},{"id":"41422","messageId":"464023D4.5060101@midwinter.com","threadId":"8003","inReplyTo":"9fb1551c0705072048u3ff85ea7n5166596855b8f322@mail.gmail.com","subject":"Deprecate git-svnimport?","fromName":"Steven Grimm","fromEmail":"koreth@midwinter.com","sentAt":"2007-05-08T07:16:36Z","receivedAt":"2007-05-08T07:16:36Z","isPatch":false,"sender":{"key":"koreth@midwinter.com","avatar":"https://gravatar.com/avatar/71b4d2e8b62f168bdc9e9205341159e3567003b4f9e2127c617c5fa0a1f5bad2?d=mp&s=160"},"body":"On 5/7/07, Steven Grimm <koreth@midwinter.com> wrote:\n> Try git-svn rather than git-svnimport. The latter, AFAIK, is no longer\n> really maintained. ...\n\nI said that because in the time I've been using git and reading this \nlist, I think I've seen a grand total of one patch to git-svnimport, a \nton of them to git-svn, and an occasional new user posting about \ngit-svnimport failing to do something that git-svn would have done if \nthey'd used it instead.\n\nIt looks like git-svnimport hasn't been updated to the 1.5.x remote \nbranch naming convention (it still calls the svn head tracking branch \n\"origin\" if its manpage is to be believed).\n\nOriginally it looked like git-svn was what you used if you wanted to \ntrack just one svn branch bidirectionally, and git-svnimport was how you \ntracked multiple svn branches read-only. But now that git-svn has good \nhandling of multi-branch svn repositories, I wonder if git-svnimport \nstill serves a purpose. Should it perhaps be deprecated and removed in a \nfuture release? Or is it still useful for things that git-svn doesn't \nhandle?\n\n-Steve\n"},{"id":"41433","messageId":"7v4pmn4oxj.fsf_-_@assigned-by-dhcp.cox.net","threadId":"8003","inReplyTo":"464023D4.5060101@midwinter.com","subject":"minimize_url in git-svn?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-08T09:58:32Z","receivedAt":"2007-05-08T09:58:32Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"I was trying to run git-svn against this:\n\n\thttps://repo.socialtext.net:8999/svn/socialtext/trunk\n\nThis is an open source project [*1*] and the trunk is supposed\nto be readable by everybody, but it seems that anything outside\nthat area needs authentication.  If I mimick the example in\ngit-svn.txt manual page to clone from there, it creates trunk,\ntrunk/.git, and then asks for password:\n\n\t$ URL=https://repo.socialtext.net:8999/svn/socialtext/trunk\n\t$ git-svn clone $URL\n        Authentication realm: <https://repo.socialtext.net:8999> Auth for SVN\n\tPassword for 'junio': ^C\n\nI've narrowed it down to this part of git-svn.  If I tell it not\nto bother \"minimiz\"ing the URL, it seems to import without\nstepping outside of the URL it was given.\n\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -1038,7 +1038,8 @@\n \t\t}\n \t\t$self->{repo_id} = $existing;\n \t} else {\n-\t\tmy $min_url = Git::SVN::Ra->new($url)->minimize_url;\n+\t\tmy $ra = Git::SVN::Ra->new($url);\n+\t\tmy $min_url = $url; # $ra->minimize_url;\n \t\t$existing = find_existing_remote($min_url, $r);\n \t\tif ($existing) {\n \t\t\tunless ($no_write) {\n\nTwo and half questions.\n\n * What does minimize do, and why is it necessary?\n\n * The resulting git-svn remote tracking branch (and 'master')\n   seems to check out fine, but I do not know what damage the\n   hack to avoid minimizing is causing.  Are there any?  I see\n   many 0{40} lines in trunk/.git/svn/git-svn/.rev_db.* file,\n   and also many lines in unhandled.log file (+empty_dir,\n   +file_prop, and +dir_prop).  Are these something to worry\n   about?\n\n * Assuming there aren't any damage, or maybe some damage that\n   would cause minor decreased functionality/interoperability,\n   would it perhaps make sense to optionally allow skipping the\n   minimizing to avoid this problem?  Would it make sense, or is\n   the setting at socialtext site too esoteric and it isn't\n   worth to worry about?\n\n\n[Footnote]\n\n*1* http://www.socialtext.net/stoss/index.cgi?developing_with_a_dev_env\n"},{"id":"41442","messageId":"Pine.LNX.4.64.0705081327260.4167@racer.site","threadId":"8003","inReplyTo":"7v4pmn4oxj.fsf_-_@assigned-by-dhcp.cox.net","subject":"Re: minimize_url in git-svn?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-05-08T11:28:23Z","receivedAt":"2007-05-08T11:28:23Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 8 May 2007, Junio C Hamano wrote:\n\n> I was trying to run git-svn against this:\n> \n> \thttps://repo.socialtext.net:8999/svn/socialtext/trunk\n> \n> This is an open source project [*1*] and the trunk is supposed\n> to be readable by everybody, but it seems that anything outside\n> that area needs authentication.  If I mimick the example in\n> git-svn.txt manual page to clone from there, it creates trunk,\n> trunk/.git, and then asks for password:\n> \n> \t$ URL=https://repo.socialtext.net:8999/svn/socialtext/trunk\n> \t$ git-svn clone $URL\n>         Authentication realm: <https://repo.socialtext.net:8999> Auth for SVN\n> \tPassword for 'junio': ^C\n\nFWIW I encountered the same problem with tailor.\n\nCiao,\nDscho\n"},{"id":"41485","messageId":"20070508193455.GA14602@muzzle","threadId":"8003","inReplyTo":"7v4pmn4oxj.fsf_-_@assigned-by-dhcp.cox.net","subject":"Re: minimize_url in git-svn?","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-05-08T19:34:55Z","receivedAt":"2007-05-08T19:34:55Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Junio C Hamano <junkio@cox.net> wrote:\n> I was trying to run git-svn against this:\n> \n> \thttps://repo.socialtext.net:8999/svn/socialtext/trunk\n> \n> This is an open source project [*1*] and the trunk is supposed\n> to be readable by everybody, but it seems that anything outside\n> that area needs authentication.  If I mimick the example in\n> git-svn.txt manual page to clone from there, it creates trunk,\n> trunk/.git, and then asks for password:\n> \n> \t$ URL=https://repo.socialtext.net:8999/svn/socialtext/trunk\n> \t$ git-svn clone $URL\n>         Authentication realm: <https://repo.socialtext.net:8999> Auth for SVN\n> \tPassword for 'junio': ^C\n> \n> I've narrowed it down to this part of git-svn.  If I tell it not\n> to bother \"minimiz\"ing the URL, it seems to import without\n> stepping outside of the URL it was given.\n> \n> --- a/git-svn.perl\n> +++ b/git-svn.perl\n> @@ -1038,7 +1038,8 @@\n>  \t\t}\n>  \t\t$self->{repo_id} = $existing;\n>  \t} else {\n> -\t\tmy $min_url = Git::SVN::Ra->new($url)->minimize_url;\n> +\t\tmy $ra = Git::SVN::Ra->new($url);\n> +\t\tmy $min_url = $url; # $ra->minimize_url;\n>  \t\t$existing = find_existing_remote($min_url, $r);\n>  \t\tif ($existing) {\n>  \t\t\tunless ($no_write) {\n\nThat should be fine.\n\n> Two and half questions.\n> \n>  * What does minimize do, and why is it necessary?\n\nI try to connect to the root (or closer to the root) of the repository.\nThis allows branches and tags to be tracked more effectively without\nneeding reconnects.  There's a reparent function in SVN 1.4, but it\ndoesn't work correctly with svn:// repos last I checked (1.4.3)\n\n>  * The resulting git-svn remote tracking branch (and 'master')\n>    seems to check out fine, but I do not know what damage the\n>    hack to avoid minimizing is causing.  Are there any?  I see\n>    many 0{40} lines in trunk/.git/svn/git-svn/.rev_db.* file,\n>    and also many lines in unhandled.log file (+empty_dir,\n>    +file_prop, and +dir_prop).  Are these something to worry\n>    about?\n\nNope.  unhandled.log is strictly informational.\n\n.rev_db is offset-based database.  Revision numbers to git commits can\nbe looked up using (SVN revision * 41).\n\nIf the project has really high revision numbers (like gcc) or lots of\ntags, it's a space-killer.  I've been meaning to add an optional SQLite\nalternative to .rev_db for people tracking those projects.  Patches\nwelcome :)\n\n>  * Assuming there aren't any damage, or maybe some damage that\n>    would cause minor decreased functionality/interoperability,\n>    would it perhaps make sense to optionally allow skipping the\n>    minimizing to avoid this problem?  Would it make sense, or is\n>    the setting at socialtext site too esoteric and it isn't\n>    worth to worry about?\n\nIt *should* be automatically detecting the highest level up it can\naccess and stop there.  In your case, there's obviously something\nbroken in my code :(\n\nI've definitely tested this as working against Seth Falcon's hedgehog\nrepo (URL is somewhere in the archives).  I also setup a test repository\nsomewhere that I can double-check against.\n\n> [Footnote]\n> \n> *1* http://www.socialtext.net/stoss/index.cgi?developing_with_a_dev_env\n\nI'll try to take a look at that in the next few days.  I also have\nsegfaults to fix that I haven't gotten to :(\n\n-- \nEric Wong\n"},{"id":"41534","messageId":"7vhcqmzjaj.fsf@assigned-by-dhcp.cox.net","threadId":"8003","inReplyTo":"20070508193455.GA14602@muzzle","subject":"Re: minimize_url in git-svn?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-09T04:56:52Z","receivedAt":"2007-05-09T04:56:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Eric Wong <normalperson@yhbt.net> writes:\n\n> .rev_db is offset-based database.  Revision numbers to git commits can\n> be looked up using (SVN revision * 41).\n\nAh, that explains why the file looks so sparse.  Their trunk/\nseems to be somewhat inactive and activities elsewhere in the\nbranch/ namespace we cannot view may advance SVN revisions.\n\n>>  * Assuming there aren't any damage, or maybe some damage that\n>>    would cause minor decreased functionality/interoperability,\n>>    would it perhaps make sense to optionally allow skipping the\n>>    minimizing to avoid this problem?  Would it make sense, or is\n>>    the setting at socialtext site too esoteric and it isn't\n>>    worth to worry about?\n>\n> It *should* be automatically detecting the highest level up it can\n> access and stop there.  In your case, there's obviously something\n> broken in my code :(\n\nPerhaps, but if the user has the proper user identity to access\nthe full site, I suspect you would be better off getting the\ncredential and connect to the higher level.  In other words, the\ndefinition of \"the highest level up it can access\" depends on\nthe user and what the user is trying to do (i.e. a user who does\nhave an account with that project may not be interested in\ngetting tags/ nor branches/, in which case the user may want to\nbe able to say \"I am not interested in uplevel\" upfront, so that\nthe program does not even have to ask for the password.  On the\nother hand the user may want to access tags/ and branches/ in\nwhich case the user would appreciate the current behaviour,\nasking for the password and go up after authenticated).\n\n> I've definitely tested this as working against Seth Falcon's hedgehog\n> repo (URL is somewhere in the archives).  I also setup a test repository\n> somewhere that I can double-check against.\n>\n>> [Footnote]\n>> \n>> *1* http://www.socialtext.net/stoss/index.cgi?developing_with_a_dev_env\n>\n> I'll try to take a look at that in the next few days.  I also have\n> segfaults to fix that I haven't gotten to :(\n\nThanks.  If I type <Return> instead of ^C in the transcript at\nthe beginning of my message, I get a segfault.  It may or may\nnot be the same one you have been chasing.\n"},{"id":"42026","messageId":"20070513165814.GA11732@muzzle","threadId":"8003","inReplyTo":"20070508193455.GA14602@muzzle","subject":"[PATCH] git-svn: don't attempt to minimize URLs by default","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2007-05-13T16:58:14Z","receivedAt":"2007-05-13T16:58:14Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"For tracking branches and tags, git-svn prefers to connect\nto the root of the repository or at least the level that\nhouses branches and tags as well as trunk.  However, users\nthat are accustomed to tracking a single directory have\nno use for this feature.\n\nAs pointed out by Junio, users may not have permissions to\nconnect to connect to a higher-level path in the repository.\n\nWhile the current minimize_url() function detects lack of\npermissions to certain paths _after_ successful logins, it\ncannot effectively determine if it is trying to access a\nlogin-only portion of a repo when the user expects to\nconnect to a part where anonymous access is allowed.\n\nFor people used to the git-svnimport switches of\n--trunk, --tags, --branches, they'll already pass the\nrepository root (or root+subdirectory), so minimize URL\nisn't of too much use to them, either.\n\nFor people *not* used to git-svnimport, git-svn also\nsupports:\n\n git svn init --minimize-url \\\n  --trunk http://repository-root/foo/trunk \\\n  --branches http://repository-root/foo/branches \\\n  --tags http://repository-root/foo/tags\n\nAnd this is where the new --minimize-url command-line switch\ncomes in to allow for this behavior to continue working.\n---\n git-svn.perl                         |    5 +++--\n t/t9100-git-svn-basic.sh             |    2 +-\n t/t9104-git-svn-follow-parent.sh     |   13 +++++++------\n t/t9105-git-svn-commit-diff.sh       |    2 +-\n t/t9110-git-svn-use-svm-props.sh     |    7 ++++---\n t/t9111-git-svn-use-svnsync-props.sh |    6 +++---\n 6 files changed, 19 insertions(+), 16 deletions(-)\n\ndiff --git a/git-svn.perl b/git-svn.perl\nindex 5352470..e38811a 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -80,6 +80,7 @@ my %icv;\n my %init_opts = ( 'template=s' => \\$_template, 'shared:s' => \\$_shared,\n                   'trunk|T=s' => \\$_trunk, 'tags|t=s' => \\$_tags,\n                   'branches|b=s' => \\$_branches, 'prefix=s' => \\$_prefix,\n+                  'minimize-url|m' => \\$Git::SVN::_minimize_url,\n \t\t  'no-metadata' => sub { $icv{noMetadata} = 1 },\n \t\t  'use-svm-props' => sub { $icv{useSvmProps} = 1 },\n \t\t  'use-svnsync-props' => sub { $icv{useSvnsyncProps} = 1 },\n@@ -820,7 +821,7 @@ use strict;\n use warnings;\n use vars qw/$default_repo_id $default_ref_id $_no_metadata $_follow_parent\n             $_repack $_repack_flags $_use_svm_props $_head\n-            $_use_svnsync_props $no_reuse_existing/;\n+            $_use_svnsync_props $no_reuse_existing $_minimize_url/;\n use Carp qw/croak/;\n use File::Path qw/mkpath/;\n use File::Copy qw/copy/;\n@@ -1037,7 +1038,7 @@ sub init_remote_config {\n \t\t\t\t     \"[svn-remote \\\"$existing\\\"]\\n\";\n \t\t}\n \t\t$self->{repo_id} = $existing;\n-\t} else {\n+\t} elsif ($_minimize_url) {\n \t\tmy $min_url = Git::SVN::Ra->new($url)->minimize_url;\n \t\t$existing = find_existing_remote($min_url, $r);\n \t\tif ($existing) {\ndiff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh\nindex eb628fe..70c3669 100755\n--- a/t/t9100-git-svn-basic.sh\n+++ b/t/t9100-git-svn-basic.sh\n@@ -229,7 +229,7 @@ test_expect_failure 'exit if init-ing a would clobber a URL' \"\n \n test_expect_success \\\n   'init allows us to connect to another directory in the same repo' \"\n-        git-svn init -i bar $svnrepo/bar &&\n+        git-svn init --minimize-url -i bar $svnrepo/bar &&\n         git config --get svn-remote.svn.fetch \\\n                               '^bar:refs/remotes/bar$' &&\n         git config --get svn-remote.svn.fetch \\\ndiff --git a/t/t9104-git-svn-follow-parent.sh b/t/t9104-git-svn-follow-parent.sh\nindex bd4f366..35aa45c 100755\n--- a/t/t9104-git-svn-follow-parent.sh\n+++ b/t/t9104-git-svn-follow-parent.sh\n@@ -28,7 +28,7 @@ test_expect_success 'initialize repo' \"\n \t\"\n \n test_expect_success 'init and fetch a moved directory' \"\n-\tgit-svn init -i thunk $svnrepo/thunk &&\n+\tgit-svn init --minimize-url -i thunk $svnrepo/thunk &&\n \tgit-svn fetch -i thunk &&\n \ttest \\\"\\`git-rev-parse --verify refs/remotes/thunk@2\\`\\\" \\\n            = \\\"\\`git-rev-parse --verify refs/remotes/thunk~1\\`\\\" &&\n@@ -68,7 +68,8 @@ test_expect_success 'follow larger parent' \"\n         echo hi > import/trunk/thunk/bump/thud/file &&\n         svn import -m 'import a larger parent' import $svnrepo/larger-parent &&\n         svn cp -m 'hi' $svnrepo/larger-parent $svnrepo/another-larger &&\n-        git-svn init -i larger $svnrepo/another-larger/trunk/thunk/bump/thud &&\n+        git-svn init --minimize-url -i larger \\\n+          $svnrepo/another-larger/trunk/thunk/bump/thud &&\n         git-svn fetch -i larger &&\n         git-rev-parse --verify refs/remotes/larger &&\n         git-rev-parse --verify \\\n@@ -90,14 +91,14 @@ test_expect_success 'follow higher-level parent' \"\n                 cd ..\n         svn mkdir -m 'new glob at top level' $svnrepo/glob &&\n         svn mv -m 'move blob down a level' $svnrepo/blob $svnrepo/glob/blob &&\n-        git-svn init -i blob $svnrepo/glob/blob &&\n+        git-svn init --minimize-url -i blob $svnrepo/glob/blob &&\n         git-svn fetch -i blob\n         \"\n \n test_expect_success 'follow deleted directory' \"\n \tsvn mv -m 'bye!' $svnrepo/glob/blob/hi $svnrepo/glob/blob/bye &&\n \tsvn rm -m 'remove glob' $svnrepo/glob &&\n-\tgit-svn init -i glob $svnrepo/glob &&\n+\tgit-svn init --minimize-url -i glob $svnrepo/glob &&\n \tgit-svn fetch -i glob &&\n \ttest \\\"\\`git cat-file blob refs/remotes/glob:blob/bye\\`\\\" = hi &&\n \ttest \\\"\\`git ls-tree refs/remotes/glob | wc -l \\`\\\" -eq 1\n@@ -127,7 +128,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' \"\n \t  poke native/t/c.t &&\n \t  svn commit -m 'reorg test' &&\n \tcd .. &&\n-\tgit-svn init -i r9270-t \\\n+\tgit-svn init --minimize-url -i r9270-t \\\n \t  $svnrepo/r9270/trunk/subversion/bindings/swig/perl/native/t &&\n \tgit-svn fetch -i r9270-t &&\n \ttest \\`git rev-list r9270-t | wc -l\\` -eq 2 &&\n@@ -137,7 +138,7 @@ test_expect_success 'follow-parent avoids deleting relevant info' \"\n \n test_expect_success \"track initial change if it was only made to parent\" \"\n \tsvn cp -m 'wheee!' $svnrepo/r9270/trunk $svnrepo/r9270/drunk &&\n-\tgit-svn init -i r9270-d \\\n+\tgit-svn init --minimize-url -i r9270-d \\\n \t  $svnrepo/r9270/drunk/subversion/bindings/swig/perl/native/t &&\n \tgit-svn fetch -i r9270-d &&\n \ttest \\`git rev-list r9270-d | wc -l\\` -eq 3 &&\ndiff --git a/t/t9105-git-svn-commit-diff.sh b/t/t9105-git-svn-commit-diff.sh\nindex c668dd1..318e172 100755\n--- a/t/t9105-git-svn-commit-diff.sh\n+++ b/t/t9105-git-svn-commit-diff.sh\n@@ -33,7 +33,7 @@ test_expect_success 'test the commit-diff command' \"\n \n test_expect_success 'commit-diff to a sub-directory (with git-svn config)' \"\n \tsvn import -m 'sub-directory' import $svnrepo/subdir &&\n-\tgit-svn init $svnrepo/subdir &&\n+\tgit-svn init --minimize-url $svnrepo/subdir &&\n \tgit-svn fetch &&\n \tgit-svn commit-diff -r3 '$prev' '$head' &&\n \tsvn cat $svnrepo/subdir/readme > readme.2 &&\ndiff --git a/t/t9110-git-svn-use-svm-props.sh b/t/t9110-git-svn-use-svm-props.sh\nindex 9db0d8f..59e17f2 100755\n--- a/t/t9110-git-svn-use-svm-props.sh\n+++ b/t/t9110-git-svn-use-svm-props.sh\n@@ -9,9 +9,10 @@ test_description='git-svn useSvmProps test'\n \n test_expect_success 'load svm repo' \"\n \tsvnadmin load -q $rawsvnrepo < ../t9110/svm.dump &&\n-\tgit-svn init -R arr -i bar $svnrepo/mirror/arr &&\n-\tgit-svn init -R argh -i dir $svnrepo/mirror/argh &&\n-\tgit-svn init -R argh -i e $svnrepo/mirror/argh/a/b/c/d/e &&\n+\tgit-svn init --minimize-url -R arr -i bar $svnrepo/mirror/arr &&\n+\tgit-svn init --minimize-url -R argh -i dir $svnrepo/mirror/argh &&\n+\tgit-svn init --minimize-url -R argh -i e \\\n+\t  $svnrepo/mirror/argh/a/b/c/d/e &&\n \tgit-config svn.useSvmProps true &&\n \tgit-svn fetch --all\n \t\"\ndiff --git a/t/t9111-git-svn-use-svnsync-props.sh b/t/t9111-git-svn-use-svnsync-props.sh\nindex 483d7f8..e523214 100755\n--- a/t/t9111-git-svn-use-svnsync-props.sh\n+++ b/t/t9111-git-svn-use-svnsync-props.sh\n@@ -9,9 +9,9 @@ test_description='git-svn useSvnsyncProps test'\n \n test_expect_success 'load svnsync repo' \"\n \tsvnadmin load -q $rawsvnrepo < ../t9111/svnsync.dump &&\n-\tgit-svn init -R arr -i bar $svnrepo/bar &&\n-\tgit-svn init -R argh -i dir $svnrepo/dir &&\n-\tgit-svn init -R argh -i e $svnrepo/dir/a/b/c/d/e &&\n+\tgit-svn init --minimize-url -R arr -i bar $svnrepo/bar &&\n+\tgit-svn init --minimize-url -R argh -i dir $svnrepo/dir &&\n+\tgit-svn init --minimize-url -R argh -i e $svnrepo/dir/a/b/c/d/e &&\n \tgit-config svn.useSvnsyncProps true &&\n \tgit-svn fetch --all\n \t\"\n-- \nEric Wong\n"}]}