Найти - Пользователи
Полная версия: Русские комментарии при commit в MercurialEclipse
Начало » Инструментальные средства разработки » Русские комментарии при commit в MercurialEclipse
1
vvp91
По умолчанию MercurialEclipse не принимает русских комментариев при попытке выполнить commit. Происходит откат транзакции и коммит не выполняется.
http://bitbucket.org/mercurialeclipse/main/issue/98/
http://bitbucket.org/mercurialeclipse/main/issue/259/
http://bitbucket.org/mercurialeclipse/main/issue/273/

У меня версия 1.4.1286

Под Windows работает следующий способ обхода:
Добавить в файл “C:\Documents and Settings\%USERNAME%\mercurial.ini” строки
[defaults]
commit=--encoding=cp1251
После этого коммиты выполняются успешно, а русские комментарии к коммитам видны в истории.
poltergeist
Интересно, а если сделать клон этого репозитория на другой машине с другими параметрами окружения (кодировка командной строки например) и посмотреть лог коммитов, что там будет видно? Не придётся потом угадывать кодировку и указывать её в настройках окружения? И почему cp1251, а не хотя бы utf-8?

Вот тут в соседнем форуме в проектах представлен модуль pymorphy и его репозиторий на битбакете, там тоже кириллица в коммитах, вот как это выглядит на другом компьютере:
changeset:   68:774b553ea1ec
tag: tip
user: Mike Korobov <kmike84@gmail.com>
date: Tue Dec 08 03:59:09 2009 +0500
summary: ???????? ?????? ? ?????????

changeset: 67:9f49d4275d3a
user: Mike Korobov <kmike84@gmail.com>
date: Tue Dec 08 03:39:29 2009 +0500
summary: ???? ????????? ?? ????

changeset: 66:b24e41807c53
user: Mike Korobov <kmike84@gmail.com>
date: Tue Dec 08 02:16:18 2009 +0500
summary: ????????? ????????????

changeset: 65:3ec3d543392e
user: Mike Korobov <kmike84@gmail.com>
date: Tue Dec 08 01:13:53 2009 +0500
summary: django templatetag ??? ????????? ????
Это ещё хорошо что у него всё в кодировке utf-8 (совпала с кодировкой моей консоли)… :)

З.Ы. Самое интересное будет, если в логе будут присутствовать коммиты сделанные в разных кодировках (ну может же быть такое), весело будет:)
vvp91
poltergeist
Интересно, а если сделать клон этого репозитория на другой машине с другими параметрами окружения (кодировка командной строки например) и посмотреть лог коммитов, что там будет видно? Не придётся потом угадывать кодировку и указывать её в настройках окружения? И почему cp1251, а не хотя бы utf-8?
Не знаю.
У меня эклипс и проект (python+django+mysql) используют кодировку UTF-8.
Решил использовать mercurial для контроля версий, получил проблему с русскими комментариями в плагине MercurialEclipse.
Малость помучился и нашел такой способ обхода проблемы.
Вот и информировал общественность.

Кстати, устанавливать utf-8 в настроечном файле меркуриала я пробовал, но это не сработало.
Андрей Светлов
offtop: а с bazaar такой проблемы вообще не бывает. В api - unicode, и все работает без дополнительных чудес.
vvp91
Андрей Светлов
offtop: а с bazaar такой проблемы вообще не бывает. В api - unicode, и все работает без дополнительных чудес.
Походу дела тут проблема именно в эклипсовом плагине, поскольку сам меркуриал вполне себе юникодный.
Андрей Светлов
Да, я ошибался. Mercurial не то чтобы юникодный - но пытается держать все внутри в utf-8.
Все же, глядя в исходники - кажется, в Bazaar куда более серьезно подошли к делу.
poltergeist
К сожалению, ничего конкретного в защиту меркуриала пока не могу сказать, внутренностей не знаю:( Как простой пользователь могу заметить, что меркуриал отдаёт пользователю контроль за кодировками, когда базаар сам определяет как лучше выдавать и принимать данные пользователя, у меня лично сходу не получилось сбить с толку базаар, похвально. А проблему нужно глубже изучать…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB