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

Re: [BUG] git-svn fails to rename files with %20 in filename

From
Will Palmer <wmpalmer@gmail.com>
Date
Feb 22, 2011, 16:50 UTC
Message-ID
<1298393415.2286.18.camel@wpalmer.simply-domain>
In-Reply-To
<20110221123115.GB23033@sigill.intra.peff.net>
On Mon, 2011-02-21 at 07:31 -0500, Jeff King wrote:
Show 39 quoted lines
> On Mon, Feb 21, 2011 at 10:12:24AM +0000, Will Palmer wrote:
> 
> > Someone accidentally checked some files containing "%20" in their names
> > into our svn repository, which is accessed with either svn or git-svn
> > depending on the developer.
> > When I attempted to correct this by renaming the file, I received (on
> > dcommit):
> > Filesystem has no item: File not found: revision 1, path
> > '/theBeginningOfTheOriginalFileName theRestOfTheOriginalFilename'
> > at /home/wpalmer/libexec/git-core/git-svn line 576
> > 
> > A recipe for reproducing this bug is as follows:
> > [...]
> 
> Thanks for the thorough test case. It seems to pass for me if with this
> applied:
> 
> diff --git a/git-svn.perl b/git-svn.perl
> index 177dd25..7daf63c 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -4556,9 +4556,7 @@ sub repo_path {
>  
>  sub url_path {
>  	my ($self, $path) = @_;
> -	if ($self->{url} =~ m#^https?://#) {
> -		$path =~ s!([^~a-zA-Z0-9_./-])!uc sprintf("%%%02x",ord($1))!eg;
> -	}
> +	$path =~ s!([^~a-zA-Z0-9_./-])!uc sprintf("%%%02x",ord($1))!eg;
>  	$self->{url} . '/' . $self->repo_path($path);
>  }
>  
> 
> IOW, it looks like the path we hand to svn needs url-encoding even for
> the local case (which make sense, as it is a file:// url). But I know
> nothing about svn, so probably I am breaking some other weird non-url
> local case. :)
> 
> -Peff

Unless I've got my line-numbers mixed up, the commit which introduced the https-specific encoding behaviour, 29633bb91c git-svn: fix commiting renames over DAV with funky file names

seems to be of the opinion that the bug did not effect file:// and svn:// URLs. Has something changed?

Previous: Jeff KingNext: Jeff King
Message 3 of 6 in “[BUG] git-svn fails to rename files with %20 in filename”
  1. Will PalmerFeb 21, 2011
  2. Jeff KingFeb 21, 2011
  3. Will PalmerFeb 22, 2011
  4. Jeff KingFeb 23, 2011
  5. Steven ScottMar 2, 2011
  6. Steven ScottFeb 21, 2011

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.