remote-hg: unquote C-style paths when exporting
commit113626537711e290af46548683e02ae0a2f51b6f
authorAntoine Pelisse <apelisse@gmail.com>
Wed, 23 Oct 2013 15:44:11 +0000 (23 08:44 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 23 Oct 2013 16:45:53 +0000 (23 09:45 -0700)
tree2e31f3953556289e179d019eb1be2b3b5a39bb69
parent5f737ac91bd869e65bff401ad1108581ac504e22
remote-hg: unquote C-style paths when exporting

git-fast-import documentation says that paths can be C-style quoted.
Unfortunately, the current remote-hg helper doesn't unquote quoted
path and pass them as-is to Mercurial when the commit is created.

This results in the following situation:

 - clone a mercurial repository with git
 - add a file with space in a directory: `>dir/foo\ bar`
 - commit that new file, and push the change to mercurial
 - the mercurial repository now has a new directory named '"dir',
   which contains a file named 'foo bar"'

Use Python str.decode('string-escape') to unquote the string if it
starts and ends with ".  It has been tested with quotes, spaces, and
utf-8 encoded file-names.

Signed-off-by: Antoine Pelisse <apelisse@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/remote-helpers/git-remote-hg