https://bz.mercurial-scm.org/show_bug.cgi?id=6651

            Bug ID: 6651
           Summary: Unable to deal with UTF-8 encoded filenames on Windows
           Product: Mercurial
           Version: 6.0.3
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzi...@mercurial-scm.org
          Reporter: j.russell.mo...@gmail.com
                CC: mercurial-devel@mercurial-scm.org
    Python Version: ---

Created attachment 2137
  --> https://bz.mercurial-scm.org/attachment.cgi?id=2137&action=edit
Archive with an UTF-8 name.

I wouldn't know if this is something to be addressed in Mercurial or Python
itself, but apparently if filenames have characters outside of the usual set
and UTF-8 encoded they can't be added to a repository under Windows.

The MSYS2 Mercurial (or Python) distribution is able to deal with them as
expected, but the regular one doesn't. I have attached an archive containing a
folder named "utf8-test-ßµ™∃", part of the Boost library source distribution,
this would be the reported error:

> hg init && hg add
abort: The filename, directory name, or volume label syntax is incorrect:
'D:\Libraries\Boost\libs\wave\test\testwave\testfiles\utf8-test-▀╡Ö?'

It doesn't seem to matter if the console is using the 437 or 65001 code pages.
I tried modifying the exe wrapper to remove the PYTHONLEGACYWINDOWSSTDIO
environment variable, but the output is similar.

When the PYTHONUTF8 variable is set, the same error is thrown, but the text
actually reads correct, which suggests something is working properly but
something else isn't:

> hg init && hg add
abort: The filename, directory name, or volume label syntax is incorrect:
'D:\Libraries\Boost\libs\wave\test\testwave\testfiles\utf8-test-ßµ™?'

PEPs 528, 529 and 540 may be of importance.

I'm running Windows 10 21H2 and Mercurial 6.0.3 over Python 3.10.2, MSYS2 has
Python 3.9.9 and Mercurial 6.0 though.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to