Re: git-svn dcommit fails if the URL has spaces in it
From: Rogan Dawes <hidden>
Date: 2016-06-15 22:43:19
Rogan Dawes wrote:
Hi folks, I used git-svn to clone the webgoat repository at GoogleCode. As mentioned at the time, for some bizarre reason, I ended up getting a directory with a space character in it. See http://article.gmane.org/gmane.comp.version-control.git/49179 In order to get a checkout that looks the same as the SVN checkout, I had to use a command line like: git-svn clone -T "trunk/ webgoat" https://webgoat.googlecode.com/svn/ Unfortunately, this results in git-svn-id metadata entries in the commits that look like: git-svn-id: https://webgoat.googlecode.com/svn/trunk/ webgoat@2 4033779f-a91e-0410-96ef-6bf7bf53c507 (Should be all on one line). As you can see, the space has made it through into the git-svn-id. Which then breaks this pattern match in git-svn:extract_metadata: my ($url, $rev, $uuid) = ($id =~ /^git-svn-id:\s(\S+?)\@(\d+) \s([a-f\d\-]+)$/x); Unfortunately, hacking it to ignore the space doesn't help either, as I then get: [rdawes@lucas webgoat]$ git-svn --username=rogan.dawes dcommit ID = git-svn-id: https://webgoat.googlecode.com/svn/trunk/ webgoat@125 4033779f-a91e-0410-96ef-6bf7bf53c507 ID = git-svn-id: https://webgoat.googlecode.com/svn/trunk/ webgoat@125 4033779f-a91e-0410-96ef-6bf7bf53c507 RA layer request failed: PROPFIND request failed on '/svn/trunk/ webgoat': PROPFIND of '/svn/trunk/ webgoat': 400 Bad Request (https://webgoat.googlecode.com) at /home/rdawes/bin/git-svn line 406 Which is entirely unsurprising, since I suspect that the URL was not being quoted/escaped correctly, and we were sending something like: PROPFIND /svn/trunk/ webgoat/ HTTP/1.0 Which is clearly illegal, having an additional field. However, I tried encoding the space to %20, and got back to my original problem, i.e. Unable to determine upstream SVN information from HEAD history If I run "git-svn -n dcommit", however, it does print out a list of "diff-tree <sha>~1 <sha>" entries. At this point, I am pretty well stuck. Any suggestions would be much appreciated. Regards, Rogan Dawes
Anyone got any ideas? Rogan