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

[PATCH] git-svn: escape backslashes in refnames

From
EWEric Wong <e@80x24.org>
Date
Dec 23, 2016, 01:42 UTC
Message-ID
<20161223014202.GA8327@starla>
In-Reply-To
<cb8cd9b1-9882-64d2-435d-40d0b2b82d59@fladi.at>
Hi Michael, the patch below should fix things up.
Junio: this should go to 'maint', pull request below.
----------------8<---------------
Subject: [PATCH] git-svn: escape backslashes in refnames

This brings git-svn refname escaping up-to-date with commit a4c2e69936df8dd0b071b85664c6cc6a4870dd84 ("Disallow '\' in ref names") from May 2009.

Reported-by: Michael Fladischer <michael@fladi.at>
Message-ID: <cb8cd9b1-9882-64d2-435d-40d0b2b82d59@fladi.at>
Signed-off-by: Eric Wong <e@80x24.org>
---
  The following changes since commit a274e0a036ea886a31f8b216564ab1b4a3142f6c:
    Sync with maint-2.10 (2016-12-05 11:25:47 -0800)
  are available in the git repository at:
    git://bogomips.org/git-svn.git svn-escape-backslash
  for you to fetch changes up to 22af6fef9b6538c9e87e147a920be9509acf1ddd:
    git-svn: escape backslashes in refnames (2016-12-23 01:37:36 +0000)
  ----------------------------------------------------------------
  Eric Wong (1):
        git-svn: escape backslashes in refnames
   perl/Git/SVN.pm | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
index 711d2687a3..98518f4ddb 100644
--- a/perl/Git/SVN.pm
+++ b/perl/Git/SVN.pm
@@ -490,7 +490,7 @@ sub refname {
 	#
 	# Additionally, % must be escaped because it is used for escaping
 	# and we want our escaped refname to be reversible
-	$refname =~ s{([ \%~\^:\?\*\[\t])}{sprintf('%%%02X',ord($1))}eg;
+	$refname =~ s{([ \%~\^:\?\*\[\t\\])}{sprintf('%%%02X',ord($1))}eg;
 
 	# no slash-separated component can begin with a dot .
 	# /.* becomes /%2E*
-- 
EW
Previous: Michael FladischerNext: Michael Fladischer
Message 2 of 5 in “Bug-Report: git-svn and backslash in SVN branch name”
  1. Michael FladischerDec 22, 2016
  2. git-svn: escape backslashes in refnamesEric Wong, Dec 23, 2016
  3. Michael FladischerDec 23, 2016
  4. Eric WongFeb 21, 2017
  5. Junio C HamanoFeb 21, 2017

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.