aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimotheus Pokorra <timotheus.pokorra@gmail.com>2013-04-05 21:49:22 -0600
committerJunio C Hamano <gitster@pobox.com>2013-04-07 00:39:27 -0700
commit5445b24e22eea96995f4015e4dadb120ff277c1e (patch)
treebf0ac7f6bbf10b301f5cd732f0dffd952f4670f6
parent8954441ac7468cf3659f70747d390ed7c9f070d5 (diff)
downloadgit-5445b24e22eea96995f4015e4dadb120ff277c1e.tar.gz
git-5445b24e22eea96995f4015e4dadb120ff277c1e.tar.xz
remote-bzr: add utf-8 support for fetching
[fc: added tests] Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xcontrib/remote-helpers/git-remote-bzr4
-rwxr-xr-xcontrib/remote-helpers/test-bzr.sh25
2 files changed, 27 insertions, 2 deletions
diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
index 0bcf8c583..0bd0759d7 100755
--- a/contrib/remote-helpers/git-remote-bzr
+++ b/contrib/remote-helpers/git-remote-bzr
@@ -223,7 +223,7 @@ def export_files(tree, files):
# is the blog already exported?
if h in filenodes:
mark = filenodes[h]
- final.append((mode, mark, path))
+ final.append((mode, mark, path.encode('utf-8')))
continue
d = tree.get_file_text(fid)
@@ -240,7 +240,7 @@ def export_files(tree, files):
print "data %d" % len(d)
print d
- final.append((mode, mark, path))
+ final.append((mode, mark, path.encode('utf-8')))
return final
diff --git a/contrib/remote-helpers/test-bzr.sh b/contrib/remote-helpers/test-bzr.sh
index 1a9c8d775..6eacf09a9 100755
--- a/contrib/remote-helpers/test-bzr.sh
+++ b/contrib/remote-helpers/test-bzr.sh
@@ -179,4 +179,29 @@ test_expect_success 'different authors' '
test_cmp expected actual
'
+test_expect_success 'fetch utf-8 filenames' '
+ mkdir -p tmp && cd tmp &&
+ test_when_finished "cd .. && rm -rf tmp && LC_ALL=C" &&
+
+ export LC_ALL=en_US.UTF-8
+
+ (
+ bzr init bzrrepo &&
+ cd bzrrepo &&
+
+ echo test >> "áéíóú" &&
+ bzr add "áéíóú" &&
+ bzr commit -m utf-8
+ ) &&
+
+ (
+ git clone "bzr::$PWD/bzrrepo" gitrepo &&
+ cd gitrepo &&
+ git ls-files > ../actual
+ ) &&
+
+ echo "\"\\303\\241\\303\\251\\303\\255\\303\\263\\303\\272\"" > expected &&
+ test_cmp expected actual
+'
+
test_done