[PATCH 6/7] remote-bzr: add utf-8 support for fetching
From: Timotheus Pokorra <timotheus.pokorra@gmail.com>
[fc: added tests]
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
contrib/remote-helpers/git-remote-bzr | 4 ++--
contrib/remote-helpers/test-bzr.sh | 25 +++++++++++++++++++++++++
2 files changed, 27 insertions(+), 2 deletions(-)
Show changes to 2 files +27 −2
contrib/remote-helpers/git-remote-bzr, contrib/remote-helpers/test-bzr.sh
diff --git a/contrib/remote-helpers/git-remote-bzr b/contrib/remote-helpers/git-remote-bzr
index 0bcf8c5..0bd0759 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 68105fc..e468079 100755
--- a/contrib/remote-helpers/test-bzr.sh
+++ b/contrib/remote-helpers/test-bzr.sh
@@ -165,4 +165,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
--
1.8.2