Я попытался сделать простой коммит через мою библиотеку-обертку для Mercurial, используя простой текст Unicode:æøåÆØÅ
в качестве моего сообщения коммита. Это записывается в текстовый файл и передается Mercurial с соответствующим параметром:
hg commit --logfile FILE
Если я впоследствии посмотрю на хранилище с помощью TortoiseHg, символы будут воспроизведены правильно. На консоли они покалечены:
[C:\Temp] :hg log
changeset: 0:6a0911410128
tag: tip
user: Lasse V. Karlsen
date: Wed Dec 01 21:48:54 2010 +0100
summary: Unicode:æøåÆØÅ
Если я перенаправлю вывод hg log
в файл и открою его, æøåÆØÅ
будет воспроизведено правильно.
Итак, мой вопрос таков:
- Могу ли я попросить
hg
напрямую записать журнал в файл или мне нужно перенаправить стандартный вывод?
- Это вызовет проблемы с кодировкой python для консоли, т.е. некоторые персонажи будут вызывать крах
hg
вместо искажения вывода?
- Существует ли известная поддерживаемая кодировка для сообщений фиксации, которой я должен придерживаться?
Или это так просто:
- Mercurial не волнует, он берет содержимое файла, который я ему передаю, независимо от содержимого, и сохраняет его как сообщение о коммите. При создании журнала он просто сбрасывает его обратно в консоль, становясь жертвой каких-либо ограничений, которые имеет библиотека вывода консоли Python в этом отношении?