TortoiseHg Windows Explorer (shell) extensions for fixutf8 extension
FixUtf8 extension is broken on TortoiseHg 2.2 (Mercurial 2.0). Please use TortoiseHg 2.1.4 (Mercurial 1.9.3).
TortoiseHg 2.2 Windows shellext has Unicode porting. You don't need to download these dlls if you don't activate FixUtf8 extension.
I merged following jobs.
issue 672: shell extension unicode support
TortoiseHg (thg) support Windows explorer menu for fixutf8 extension in following revisions.
- revision c376099c233e
- revision 0ddaf9c328cc
As the image of architecture, encoding of .hg/dirstate and .hg/thgstatus is following.
- If FixUtf8 extension is enabled, encoding is UTF-8.
- If FixUtf8 extension is not enabled, encoding is CP_ACP(ANSI code pages / Windows code pages)
Logic of dll determining encoding is following.
- If UTF-8 is vaild, dll treats as UTF-8.
You can skip this step to set environment variable THG_SHELLEXT_UTF8 false or no.
- If UTF-8 is invaild, dll treats as CP_ACP.
There is a possibility of miss handling of UTF-8. For example, "\xC2\x80" is two chars in latin-1 and it is valid UTF-8.
For 32 bits system
- Rename the THgShellx86.dll in "C:\Program Files\TortoiseHg" to something else (e.g. THgShell-01.dll)
- Copy the new dll to "C:\Program Files\TortoiseHg\THgShellx86.dll"
- (Option) Set environment variable THG_SHELLEXT_UTF8 false or no. Refer Logic
For 64 bits systems, the dll is instead located in "C:\Program Files\Common Files\TortoiseHg\ThgShellx64.dll".
For more details, please refer README.txt
- New C++ Shell Extension Plan
- TortoiseHg Developers google group
Please refer README.txt