Eu tenho repositórios Mercurial executando no Apache com mod_wsgi. Os repositórios têm todos os nomes de arquivos codificados no windows-1251. Essa codificação é usada por razões históricas: elas foram convertidas em mercurial a partir do svn, o windows-1251 é a codificação padrão do Windows para a localidade russa.
Agora os programadores desejam usar a ferramenta Crisol para revisão de código. Não pode conter nomes de arquivos em nenhuma outra codificação além de utf-8. Então, eu preciso convertê-los do windows-1251 para utf-8. Alguém sabe como fazer isso? A extensão de conversão do Mercurial não tem opções para converter codificações.
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
para encoding = UTF-8
apenas tornar os nomes de arquivos ilegíveis. Isso ocorre porque eles são armazenados no windows-1251. "UTF-8" os.environ ["HGENCODING"] = "UTF-8" é igual a esta configuração.