git/list[1] front-page[2] threads[3] people[4] search[5] about
 

git-svn bug report: %20 in http:// should translate to a space ' ' automatically

From
MSMike Smullin <mike@smullindesign.com>
Date
Aug 15, 2009, 17:48 UTC
Message-ID
<4A86F4DA.5090605@smullindesign.com>
Hello,

This one took me over an hour to figure out with the help of doener in #git on irc.freenode.net:

(10:11:15) jeanrussou: i am using git-svn clone to checkout individual directories from an svn repo as separate .git repos on my local hdd. some of the git-svn clone attempts get all of svn repo history, this one gets only the last commit. an svn log of the same path returns a history of at least 5 commits. i only have the most recent one in my git log after git svn clone. any idea why? ... (10:18:37) charon: jeanrussou: git-svn only tracks svn rename/copy operations that are "visible" to it, i.e., happen entirely within the paths cloned (10:18:53) charon: jeanrussou: try 'svn log -v' to see if the directory was moved (10:18:54) jeanrussou: charon: yes, i did move the path. is there a workaround? can i tell git-svn the original path before the move, or something? (10:23:46) doener: jeanrussou: so what's the situation you have? Cloning repo/foo and repo/foo/bar was repo/goo in the past? (10:23:56) doener: jeanrussou: or cloning repo/foo which was repo/bar in the past? (10:24:59) jeanrussou: in the beginning there was http://repo/projects/Client%20Name/Project, then over time it became http://repo/projects/archive/Client%20Name/Project. i am now attempting git-svn clone on the latter url (10:25:28) jeanrussou: there were no changes to the project after it went into archive (10:25:36) jeanrussou: i believe this is why it appears to only be grabbing the last commit (which was the move) (10:25:49) doener: jeanrussou: if that was a direct rename from one to the other, git-svn should be able to follow that ... (trying -T, also svn+ssh://) ... finally the cause is found ... (11:27:49) jeanrussou: i wrap it in double-quotes and replace %20 with a space ' ' and it works (11:31:40) jeanrussou: oh if i just replace %20 with a space the http:// url works too (11:31:48) doener: *lol* (11:31:57) jeanrussou: dangit (11:32:20) jeanrussou: thanks doener (11:32:23) jeanrussou: u rock (11:32:25) doener: you're welcome (11:33:10) doener: too bad that the bug reports I found didn't have the space issue, would likely have saved some time ;-) (11:33:38) jeanrussou: ya we should make one (11:34:01) jeanrussou: that would be cool if git-svn could unescape the url encodings for http:// paths (11:34:17) doener: well, the path could contain a literal %20 (11:34:46) doener: not very common, but I guess the "give me the plain path, please" approach of git-svn is ok (11:35:39) jeanrussou: ya i could see that with svn+ssh:// and file:// but with http:// its going over WebDAV and i'd have to read the RFCs but it might even be an HTTP thing about accessing URLs that % is not valid in URLs (11:36:37) doener: yeah, those need to be escaped as %25 (IIRC). And it's kinda weird that the one without -T works (11:36:49) jeanrussou: o ya definitely. that too (11:36:56) doener: so yeah, a bug report might be the right thing (11:36:57) jeanrussou: thats what threw me off. i thought the url was working because of that (11:37:14) jeanrussou: okay cool lets see if i can find the git bug tracker

Hope this helps! :)

-- Respectfully,

Mike Smullin Senior Web Systems Director Smullin Design and Development, LLC

http://www.smullindesign.com http://www.linkedin.com/in/mikesmullin

2112 E. Frontier St. Eagle Mountain, Utah 84005 United States

toll-free: +1 800-819-7431 mobile: +1 801-652-5849 skype: smullindesign

Next: Björn Steinbrink
Message 1 of 5 in “git-svn bug report: %20 in http:// should translate to a space ' ' automatically”
  1. Mike SmullinAug 15, 2009
  2. Björn SteinbrinkAug 15, 2009
  3. Tony FinchAug 15, 2009
  4. Daniel StenbergAug 16, 2009
  5. svn: assume URLs from the command-line are URI-encodedEric Wong, Aug 16, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.