我使用mod_wsgi在Apache上运行了Mercurial存储库。存储库的所有文件名都编码在windows-1251中。这种编码是出于历史原因:它们被从svn转换为mercurial,windows-1251是俄罗斯地区默认的windows编码。
现在,程序员希望使用坩埚工具进行代码评审。除了utf-8,它不能在任何其他编码中隐藏文件名。所以我需要把它们从windows-1251转换成utf-8。有人知道怎么做吗?Mercurial转换扩展没有转换编码的选项。
hgweb.config:
[web]
#encoding = UTF-8
encoding = windows-1251
#allow_archive = gz, zip, bz2
allow_archive = zip
allow_push = *
push_ssl = false
[extensions]
[collections]
/data/mercurial = /data/mercurial
发布于 2013-08-06 08:21:16
我也有同样的问题。我需要转换一堆存储库,所以我编写了一个脚本,将所有存储库转换为list。
hg_convert_filenames_encoding.py [-h] [-i INPUT_ENCODING] [-o OUTPUT_ENCODING] [-b] [-u] [repositories [repositories ...]]
你可以从我的存储库在BitBucket那里得到。
https://serverfault.com/questions/319070
复制