git-svn dcommit fails if the URL has spaces in it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux