{"thread":{"id":"40317","subject":"Bug in handling $ character in GIT SVN","startedAt":"2015-09-10T15:22:24Z","lastAt":"2015-09-10T15:22:24Z","messageCount":1,"participants":["Sergiy Barlabanov"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"269696","messageId":"753DB529-B81D-45A4-B339-03E0FCE4DCE2@sergiy-barlabanov.de","threadId":"40317","inReplyTo":null,"subject":"Bug in handling $ character in GIT SVN","fromName":"Sergiy Barlabanov","fromEmail":"contact@sergiy-barlabanov.de","sentAt":"2015-09-10T15:22:24Z","receivedAt":"2015-09-10T15:22:24Z","isPatch":false,"sender":{"key":"contact@sergiy-barlabanov.de","avatar":null},"body":"Hi,\n\nI was redirected here from Git-users list (https://groups.google.com/forum/#!topic/git-users/mftroAtEfvE).\n\nWe have recently a problem my dcommiting renamed files containing $ character in their names. GIT SVN crashed with the error:\n\nAssertion failed: (svn_uri_is_canonical(child_uri, NULL)), function uri_skip_ancestor, file /SourceCache/subversion/subversion-62/subversion/subversion/libsvn_subr/dirent_uri.c, line 1519.\nerror: git-svn died of signal 6\n\nEnvironment was Mac OS X 10.8.5, Git version 1.8.5.2, SVN version 1.7.10.\n\nAfter having googled a little bit I found out that the error was in Editor.pm script in the way how it handles special characters. There was a patch fixing the problem (see http://git.661346.n2.nabble.com/PATCH-git-svn-do-not-escape-certain-characters-in-paths-td7575413.html). But the patch does not seem to be consistent. It does not work if a file name contains $. Having looked at the source file (https://github.com/git/git/blob/master/perl/Git/SVN/Editor.pm) and played with the local copy of Editor.pm I found out that $ sign must be escaped in the perl regex expression used in Editor.pm:148. Otherwise $ is not caught by the expression and get replaced with %24 which is not accepted by the SVN client.\n\nSeems to be bug and it should be still present because $ sign is still unescaped in the latest master of GIT - see https://github.com/git/git/blob/master/perl/Git/SVN/Editor.pm:148.\n\nBest regards,\nSergiy"}]}