Re: [PATCH] translate bad characters in refnames during git-svn fetch
- From
- Jan Hudec <bulb@ucw.cz>
- Date
- Jul 16, 2007, 11:15 UTC
- Message-ID
- <20070716111509.GC18293@efreet.light.src>
- In-Reply-To
- <20070716033050.GA29521@muzzle>
On Sun, Jul 15, 2007 at 20:30:50 -0700, Eric Wong wrote:
Show 11 quoted lines
> The major issue with this is that it doesn't handle odd cases > where a refname is sanitized into something > (say "1234~2" sanitizes to "1234=2"), and then another branch > is created named "1234=2". > > git-svn should at least keep track of what it got sanitized to, to > avoid clobbering branches. > > I started working on this a while back but haven't gotten around > to revisiting it: > http://thread.gmane.org/gmane.comp.version-control.git/45651
I believe % is safe, right? So what if git-svn just url-escaped stuff in the branch name it does not like. Of course % would be included in the list of characters it does not like. Eg. 1234~2 would escape to 1234%7E2 and if the user ever head 1234%7E2 in svn, it would simply escape too, to 1234%257E2.
Space is rather common, but that's why there is the + rule in url-encoding -- "foo bar" escapes to "foo+bar" and "foo+bar" escapes to "foo%2Bbar". Or you could use something else to escape space. I can only think of "=", "_" is too common to have it escaped and anything else would conflict with either git or shell.
-- Jan 'Bulb' Hudec <bulb@ucw.cz>