Apacheでmod_wsgiを実行しているMercurialリポジトリがあります。リポジトリには、windows-1251でエンコードされたすべてのファイル名があります。このエンコーディングは歴史的な理由で使用されています。それらはsvnからmercurialに変換されました。windows-1251はロシア語ロケールのデフォルトのWindowsエンコーディングです。
現在、プログラマはコードレビューにCrucibleツールを使用したいと考えています。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
encoding = windows-1251
するencoding = UTF-8
。これは、windows-1251に格納されているためです。"UTF-8" os.environ ["HGENCODING"] = "UTF-8"はこの設定と同じです。