Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2009 13:01:54

vvp91
От:
Зарегистрирован: 2009-06-08
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

Русские комментарии при commit в MercurialEclipse

По умолчанию 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
После этого коммиты выполняются успешно, а русские комментарии к коммитам видны в истории.



Офлайн

#2 Дек. 8, 2009 22:36:11

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Русские комментарии при commit в MercurialEclipse

Интересно, а если сделать клон этого репозитория на другой машине с другими параметрами окружения (кодировка командной строки например) и посмотреть лог коммитов, что там будет видно? Не придётся потом угадывать кодировку и указывать её в настройках окружения? И почему 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 (совпала с кодировкой моей консоли)… :)

З.Ы. Самое интересное будет, если в логе будут присутствовать коммиты сделанные в разных кодировках (ну может же быть такое), весело будет:)



Отредактировано (Дек. 8, 2009 22:52:38)

Офлайн

#3 Дек. 9, 2009 00:31:27

vvp91
От:
Зарегистрирован: 2009-06-08
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

Русские комментарии при commit в MercurialEclipse

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

Кстати, устанавливать utf-8 в настроечном файле меркуриала я пробовал, но это не сработало.



Отредактировано (Дек. 9, 2009 00:34:12)

Офлайн

#4 Дек. 9, 2009 05:35:00

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Русские комментарии при commit в MercurialEclipse

offtop: а с bazaar такой проблемы вообще не бывает. В api - unicode, и все работает без дополнительных чудес.



Офлайн

#5 Дек. 9, 2009 10:11:29

vvp91
От:
Зарегистрирован: 2009-06-08
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

Русские комментарии при commit в MercurialEclipse

Андрей Светлов
offtop: а с bazaar такой проблемы вообще не бывает. В api - unicode, и все работает без дополнительных чудес.
Походу дела тут проблема именно в эклипсовом плагине, поскольку сам меркуриал вполне себе юникодный.



Офлайн

#6 Дек. 9, 2009 11:14:53

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Русские комментарии при commit в MercurialEclipse

Да, я ошибался. Mercurial не то чтобы юникодный - но пытается держать все внутри в utf-8.
Все же, глядя в исходники - кажется, в Bazaar куда более серьезно подошли к делу.



Офлайн

#7 Дек. 9, 2009 11:27:10

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Русские комментарии при commit в MercurialEclipse

К сожалению, ничего конкретного в защиту меркуриала пока не могу сказать, внутренностей не знаю:( Как простой пользователь могу заметить, что меркуриал отдаёт пользователю контроль за кодировками, когда базаар сам определяет как лучше выдавать и принимать данные пользователя, у меня лично сходу не получилось сбить с толку базаар, похвально. А проблему нужно глубже изучать…



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version