Git, Mercurial или Bazaar?

Разработка Far.
Post Reply
Kirill
Posts: 262
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 1 time
Contact:

Re: Git, Mercurial или Bazaar?

Post by Kirill »

Latest post of the previous page:

textExpanser wrote:t-rex
У Mercurial проблема с не-латинскими символами в путях к файлам/именах файлов. И я так понял это лечить не будут - кое-что залатали и рукой махнули, но пролема остается. Насколько понял - проблема в коде Меркуриала, переделать его под Unicode нормально не получится. Так что надежнее Git. А про Bazaar не знаю - не попробовал еще.
У Git такая же проблема, поэтому не надо использовать не латинские символы. А вот заплатка для Меркуриал работает (правдя я ей пользуюсь только на получение), но раз я скачиваю, возможно разработчики их как-то закачивают (не у всех же линукс или мак).

textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

Re: Git, Mercurial или Bazaar?

Post by textExpanser »

Kirill
Нет у Git таких проблем как у Mercurial - Git спокойно обрабатывает файлы, содержащие даже не кириллицу, а даже расширенные Unicode символы. В то время как Mercurial на таких файлах спотыкается и прекращает операцию не завершив ее. И причина почему в Mercurial не будут это исправлять - там уже заплатка на заплатке и код такой дерьмовый, что переделывать ЭТО никто не возьмется.

Kirill
Posts: 262
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 1 time
Contact:

Re: Git, Mercurial или Bazaar?

Post by Kirill »

Работа из FAR в GIT


Работа из FAR в Mercurial

textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

Re: Git, Mercurial или Bazaar?

Post by textExpanser »

Речь не о кириллице (кстати, а почему не используется сокращенный вывод, а выодится ненужная информация?)
Речь о том, что если hg встретит символ, не вписывающийся в обычную кодировку, например какой-нибудь файл с типографской закорючкой в имени, он вылетит с ошибкой.
А это значит, что файлы, которые должны были сканироваться после данного, добавлены в репозиторий не будут! У Git таких проблем просто нет. Он надежный. И Unicode в именах не проблема для git.
Кстати, отсутствие поддержки Unicode в наше время уже говорит о том, что код приложения устарел, и оно проектировалось неправильно. Вот в Mercurial и накладывали заплатки, вместо того, чтобы добавить поддержку Unicode. Но замучались и вроде уже забили.
Как раз сегодня в очередной раз столкнулся с этой ошибкой в Mercurial.

Kirill
Posts: 262
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 1 time
Contact:

Re: Git, Mercurial или Bazaar?

Post by Kirill »

textExpanser wrote:Как раз сегодня в очередной раз столкнулся с этой ошибкой в Mercurial.
Для не-latin кириллица такие же спец символы как и все остальное. Можете пример репозитория или хотя бы этого спецсимвола показать - я хочу у себя проверить.
Last edited by Kirill on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Исправлена опечатка

User avatar
Wave
Posts: 1772
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Re: Git, Mercurial или Bazaar?

Post by Wave »

В тестовом репозитории переименовал all.txt в «all».txt — проканало. Потом переименовал в «all»×©‣ו‣©•−«.txt — обломалось. С этим же именем в гите всё прошло нормально.
Пользуюсь ФАРом больше 20 лет © собирательный.

Kirill
Posts: 262
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 1 time
Contact:

Re: Git, Mercurial или Bazaar?

Post by Kirill »

Сменил кодировку фара на юникодную и попробовал тест Wave
HG


GIT


Теперь я склонен согласиться с textExpanser'ом, что Git корректнее работает с юникодными именами файлов.

PS. для себя лично (преимущественно работаю с GIT) я все же останусь при своем мнении, что с юникодом работать лучше в Mercurial. Т.к. такие спецсимволы, которые не понимает консоль и mercurial в своей деятельности не встречал, а вот отображение юникодной информации (лог, читабельные имена файлов) от git и hg
hg


GIT

User avatar
Wave
Posts: 1772
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Re: Git, Mercurial или Bazaar?

Post by Wave »

Лично я долгое время пользовался TortoiseSVN, а когда стал осваивать Mercurial и Git, поставил соответствующих черепах. И комфортней оказалось работать с гитом, т.к. его черепаха оказалась больше похожа на TortoiseSVN.

Да, вышеназванный тест проводил через TortoiseHG и TortoiseGit, естественно.
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
Vertigo
Posts: 85
Joined: Tue 13 Apr, 2010 12:04
Location: Moscow, Russia
Has thanked: 10 times
Been thanked: 4 times

Re: Git, Mercurial или Bazaar?

Post by Vertigo »

Kirill wrote: PS. для себя лично (преимущественно работаю с GIT) я все же останусь при своем мнении, что с юникодом работать лучше в Mercurial. Т.к. такие спецсимволы, которые не понимает консоль и mercurial в своей деятельности не встречал, а вот отображение юникодной информации (лог, читабельные имена файлов) от git и hg
Команда

Code: Select all

git config --global core.quotepath false
спасёт вас.

После этого никаких прблем с кириллицей в консоли не возникает. Особенно при использовании свежих версий msysGit.

Kirill
Posts: 262
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 1 time
Contact:

Re: Git, Mercurial или Bazaar?

Post by Kirill »

Vertigo wrote:
После этого никаких прблем с кириллицей в консоли не возникает. Особенно при использовании свежих версий msysGit.
Где ж Вы все это время были когда я так мучался???? Огромное спасибо.

Code: Select all

git log -C --stat --decorate

textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

Re: Git, Mercurial или Bazaar?

Post by textExpanser »

Что меня напрягает - так это плохая поддержка разных кодировок: диффы просматриваются по-умолчанию или в cp1251, или в UTF8, на выбор. То есть что-то да будет кракозябрами вместо русского текста - это зависит от кодировки по-умолчанию в настройках. А так, чтобы в кодировке самого файла показывать и перекодировать при надобности - не нашел такой установки. Я говорю о просмотре диффов в Git GUI.
Можно ли как-то настроить, чтобы показывало в кодировке самого файла, чтобы никаких кракозябр небыло? (UTF-8 файлы у меня с BOM, а остальные - cp1251 по-умолчанию)

User avatar
HaRT
Moderator
Posts: 9487
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 226 times

Re: Git, Mercurial или Bazaar?

Post by HaRT »

textExpanser wrote:Можно ли как-то настроить, чтобы показывало в кодировке самого файла, чтобы никаких кракозябр небыло? (UTF-8 файлы у меня с BOM, а остальные - cp1251 по-умолчанию)
А что такое кодировка самого файла, когда файлов несколько?
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Michael Lukashov
Posts: 484
Joined: Mon 23 Jan, 2006 09:38
Been thanked: 9 times
Contact:

Re: Git, Mercurial или Bazaar?

Post by Michael Lukashov »

Существует механизм атрибутов.
http://git-scm.com/book/ch7-2.html
Если вкратце, надо создать файл .gitattributes с содержимым
*.sql encoding=cp1251
*.txt encoding=utf-8

Как-то так.

textExpanser
Posts: 74
Joined: Wed 11 Apr, 2007 18:23

Re: Git, Mercurial или Bazaar?

Post by textExpanser »

HaRT
Ну файлы могут быть в разных кодировках. А GitGUI выбирает только одну, в ней показывает все файлы. То есть, скажем если выбрать CP1251, то файлы в UTF8 будут вместо русских букв показывать мусор. А хотелось бы, чтобы мне не дамп байтов (кракозябр) показывали, а осмысленный текст. И напрммер, если произошло перекодирование файла, то тоже показывалась разница между русским тестом.
Наверное это всё не очень заботит англоязычных разработчиков, так что без помощи нашего брата с кодировками в VCS удобств не будет.
Честно говоря, я не особо разбирался в настройках, жалко времени было. Может и есть такая настройка, на что и надеюсь.

ice_scream
Спасибо, уже что-то. Жаль, что от расширений зависит, а не само кодировки определяет, как Far или Notepad.

И ещё - кажется в этих всех контролях версий есть проблема с двухбайтовыми Unicode кодировками и такие файлы кажется интерпретируются как бинарные.

LRN
Posts: 15
Joined: Fri 07 Sep, 2007 15:27
Location: Вселенная, Галактика, Солнечная система, Земля, Россия, Москва

Re: Git, Mercurial или Bazaar?

Post by LRN »

/me только что стянул r9983 через git-svn clone -r 9983. Лепота! (Это к тому, что в общем-то не обязательно переходить на что-то с svn, он юзабелен и так - через обёртки).

User avatar
CyberShadow
Posts: 194
Joined: Sun 15 Apr, 2007 17:12
Been thanked: 1 time
Contact:

Re: Git, Mercurial или Bazaar?

Post by CyberShadow »

Если кому нужно - вот публичное git-зеркало svn-репозитория фара:
https://github.com/CS-svnmirror/farmanager
Обновляется ежечасно.

Post Reply

Return to “Development”