Issue #16 resolved

Add non-ASCII filename and commit log support

Shun-ichi Goto
created an issue

I've made a patch to support non-ASCII string (like Japanese) for filename and commit log. See attached patch. Tested with 'svnclone', 'svn pull', 'svn push' for file and log.

As a design, mercurial does not care of filename encoding. It means byte sequence of filename is (almost) local filename encoding, and usually it's a locale encoding. So my patch converts utf-8 from RA layer to local encoding (util._encoding) using util.tolocal() and util.fromlocal(). Of course this is not perfect solution, but enough for almost users, I guess.

Also Log message is a local encoded on extracted from localrepo object. So likewise, convert local encoding and utf-8.

In my patch, svnwrap class to accept and return utf-8 string and caller (usually fetch_command, push_command) care the conversion.

Comments (5)

  1. Augie Fackler repo owner

    I think a fix for this should have arrived in 85fcac4e2291 . Can you please check, and if not reopen this ticket and attach a 'svnadmin dump' of a small repository that demonstrates these problems? I'd love to add checks for this to my automated tests.

  2. Anonymous

    still not working. Trying to import svn repository with russian letters in filenames. Will try to add such repository as example this week

  3. Anonymous

    same here.. filenames with russian letters become encoded in UTF8 and are shown incorrectly (WIndows 7)

  4. Log in to comment