From: Eric Wong Date: Fri, 23 Dec 2016 01:42:02 GMT Subject: [PATCH] git-svn: escape backslashes in refnames Message-ID: <20161223014202.GA8327@starla> In-Reply-To: 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 Message-ID: Signed-off-by: Eric Wong --- 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