TortoiseHg中文文件名乱码解决
基础知识[*]Mercurial(HG)是一个分布式的版本控制系统(VCS)之一。 和GIT类似。
[*]HG内建Windows资源管理器前端TortoiseHg是 http://tortoisehg.bitbucket.org/ 可供下载。
[*]TortoiseHg 0.8或更高版本,中文已经得到一定支持,可是文件名依旧会乱码。
乱码原因
[*]在文件名“\”可能被包括在内。
[*]Windows使用“\”分割路径,而Unix是“/”
[*]Windows和Linux环境与不同的编码环境
[*]这个就不必详述了
三种解决办法http://www.yankay.com/wp-content/uploads/2010/04/fixutf8-300x200.png
win32mbcs
[*]可以解决路径分割符问题
hg-fixutf8
[*]hg的python扩展
[*]支持命令行,也支持图形界面
[*]应用程序 网址:Http:/ / Mercurial.selenic.com/Wiki/Fixutf8Extension (英文)
Cygwin的Mercurial
[*]Cygwin的1.7文件名处理为UTF - 8。基于这个原因,Cygwin的版本的Linux和Mercurial可用于互操作。然而,TortoiseHg和图形用户界面不可用。
比较表
字码解决乱码多个操作系统图形用户界面
默认GBK××○
win32mbcsGBK○×○
hg-fixutf8使用UTF - 8○○○
Cygwin使用UTF - 8○○×
Fixutf8安装方法
[*]运行 hg clone http://bitbucket.org/stefanrusek/hg-fixutf8。可以得到一个文件夹,
[*]将这个文件夹拷贝到你想拷贝的地方。我拷贝在C:\Program Files\TortoiseHg\hg-fixutf8
[*]在C:\Users\yankai (yankai是我的用户名)下有一个隐藏文件mercurial.ini,如果没有创建一个,在他后面添上fixutf8 = C:\Program Files\TortoiseHg\hg-fixutf8\fixutf8.py
ok,乱码问题应该已经解决了。
----------
FixUtf8 Extension
This extension is not distributed with Mercurial.
Author: Stefan Rusek
Repository: https://bitbucket.org/stefanrusek/hg-fixutf8/
http://mercurial.selenic.com/moin-static/modernized/img/alert.png This extension appears to be incompatible with Mercurial 2.0 and later.
Compatibility: requires Mercurial 1.1 or later and Python 2.5 or later
This extension is still in beta, use it at your own risk.
Overview
This extension corrects filename encoding problems on Windows.
Windows internally stores all command line arguments and filenames in Unicode UTF-16 (16-bit character strings), and for backward compatibility with Windows 3.x, provides functions to retrieve them in non-Unicode 8-bit character strings. Python 2.x and Mercurial call the non-Unicode functions. This causes Mercurial to misbehave when used with filenames that contain Unicode characters. This extension resolves this issue, by making sure that the Unicode functions are called. Since Mercurial expects 8-bit character strings, the extension converts the strings to UTF-8 before returning them to Mercurial.
There is one case where FixUtf8 fails to add support for Unicode, because the repository object for the current working directory is created before extensions are loaded. There is nothing that FixUtf8 can do to fix the problem of a repository residing within a
directory with Unicode characters in it. However, FixUtf8 does not have a problem with directories with Unicode characters inside
of the repository.
Ideally, you enable the extension before you need international filenames, but if you already have international filenames in your repo, then you need to fix your filenames.
In order for Unicode characters to display properly, you should change the Windows console font from "Raster Fonts" to "Lucida Console".
Fixing existing filenames
To fix your filenames simply do the following:
>hg addremove -s 100
>hg commit -m "Fix filenames"
Configuration
Configure your .hgrc to enable the extension by adding following lines:
fixutf8 = path/to/fixutf8.py ------
页:
[1]