git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 6/7] remote-bzr: add utf-8 support for fetching

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 6, 2013, 03:49 UTC
Message-ID
<1365220163-13581-7-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1365220163-13581-1-git-send-email-felipe.contreras@gmail.com>
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(-)
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
Previous: Felipe ContrerasNext: Felipe Contreras
Message 7 of 9 in “remote-bzr: generic updates”
  1. 0/7 remote-bzr: generic updatesFelipe Contreras, Apr 6, 2013
  2. 1/7 remote-bzr: fix directory renamingFelipe Contreras, Apr 6, 2013
  3. 2/7 remote-bzr: remove files before modificationsFelipe Contreras, Apr 6, 2013
  4. 3/7 remote-bzr: set author if availableFelipe Contreras, Apr 6, 2013
  5. 4/7 remote-bzr: only update workingtree on local reposFelipe Contreras, Apr 6, 2013
  6. 5/7 remote-bzr: avoid unreferred tagsFelipe Contreras, Apr 6, 2013
  7. 6/7 remote-bzr: add utf-8 support for fetchingFelipe Contreras, Apr 6, 2013
  8. 7/7 remote-bzr: add utf-8 support for pushingFelipe Contreras, Apr 6, 2013
  9. Felipe ContrerasApr 8, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.