Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: субъективные впечатления о системах контроля версий git/hg/bzr
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Управление проектами
yes
не претендуя на объективность, хочу поделится впечатлениями от попытки развернуть систему и попробовать инструментарий

интересовало работа как под виндовс, так и под линукс, для достаточно большого HDL проекта (как выяснилось, что со всеми библиотеками тянет на несколько миллионов строк - cvs репозиторий прошлого проекта 3Gb со всякими бинарниками : visio, word и т.п.)

хотелось бы отметить, что для маленькой группы, которая тесно сидит в одном месте переход с svn на распределенную систему вряд ли имеет смысл

-------------

больше всего понравился git
в дополнение к сравнениям в сети я бы отметил наличие gui (gitk), которое одинаково под линухом и виндой и действительно визуализирует лог в виде дерева (типа revision graph в tortoisesvn)
также мне показалось важным наличие авто-коррекции виндовых CR-LF в нормальный перевод строки - что в других системах либо требует специальной настройки либо убивает diff
минималистическую интеграцию в виндовый экплорер считаю удачной - gui here или bash here - это имхо, просто и правильно

специфических плюсов bazaar-а я не понял, видимо мне не совсем важны предоставляемые этой системой преимущества. важным, без шуток, плюсом я считаю участие bialix в этом форуме.
графический интерфейс представляет из себя переформатированый текстовый вывод, поэтому большого смысла в нем я не увидел. реализация интеграции в эксплорер находится в зачаточном состоянии

hg интегрируется в эксплорер и создает иконки такие же как tortoisesvn, но при этом опять весь графический интерфейс сводится к выводу текста в окошках (revision graph там как раз отсутствует)
при этом эксплорер начал как-то подозрительно тормозить, перелистывая папки и этот tortoisehg я по-быстрому убрал. из командной строки в юниксе работает, графические интерфейсы в юниксе не смотрел.

-----------------------

может я чего-то не заметил - все-таки не эксплуатировал системы по настоящему, просто прогнал туториалы и минимальный набор операций (которые полагаю использовать для работы), буду благодарен, если мне покажут неточности в моих впечатлениях
scifi
Git: смущает состояние порта для Windows. Устанавиливал msysgit - показалось, что установилась половина Юникса (очевидно, дли обеспечения работы git). Сотня разных команд, без поллитры не разберёшься.
Mercurial: установил TortoiseHg. Понравилось. GTK GUI немножко странно выглядит, конечно, но это мелочи. Смутило только одно: при переименовании файла хранилице раздувается на размер (сжатой) копии этого файла. При переименовании папки с кучей толстых файлов размер хранилища будет увеличиваться очень существенно.
Bazaar: TortoiseBzr в зачаточном состоянии. Командная строка работает нормально. Радует набор фичей. Смущает раздутый набор основных понятий: формат хранилища (~10 вариантов), branch (простой, stacked, shared repository), checkout (простой, lightweight), bind/unbind. Такое ощущение, что Bazaar хочет быть "всем для всех". В результате опять же без поллитры не разберёшься. В этом смысле очень привлекательно выглядит Mercurial.
bialix
Не надо писать GIT MERCURIAL BAZAAR все в верхнем регистре. Это не аббревиатуры. Это имена собственные. Должно быть Git, Mercurial, Bazaar.

Окей? Долой безграмотность.

Цитата(yes @ Dec 15 2008, 18:11) *
не претендуя на объективность, хочу поделится впечатлениями от попытки развернуть систему и попробовать инструментарий

интересовало работа как под виндовс, так и под линукс, для достаточно большого HDL проекта (как выяснилось, что со всеми библиотеками тянет на несколько миллионов строк - cvs репозиторий прошлого проекта 3Gb со всякими бинарниками : visio, word и т.п.)

хотелось бы отметить, что для маленькой группы, которая тесно сидит в одном месте переход с svn на распределенную систему вряд ли имеет смысл


Имеет, если охота использовать коротко живущие ветки для реализации каждой отдельной фичи. Почитайте UQDS: divmod.org/trac/wiki/UltimateQualityDevelopmentSystem

Обратите внимание на то, что добрая половина документа -- это объяснение почему ветки это хорошо. Плюс гит имеет хорошую двухсторонюю работу с нативными свн-ветками, т.е. можно взять свн код, затащить его в гит, там поработать, объединить с транком, а в конце просто сделать push из гита назад в свн. Базар это тоже умеет, но гит вам понравился больше.

Цитата
bzr: графический интерфейс представляет из себя переформатированый текстовый вывод, поэтому большого смысла в нем я не увидел.


Извините? Это вы о чем?
Обратите внимание на этот скриншот: http://qbzr.googlegroups.com/web/qlog.png

Это вам что -- не граф ревизий? Вы че, серьезно?


Цитата(scifi @ Dec 16 2008, 08:52) *
Bazaar: TortoiseBzr в зачаточном состоянии. Командная строка работает нормально. Радует набор фичей. Смущает раздутый набор основных понятий: формат хранилища (~10 вариантов), branch (простой, stacked, shared repository), checkout (простой, lightweight), bind/unbind. Такое ощущение, что Bazaar хочет быть "всем для всех". В результате опять же без поллитры не разберёшься. В этом смысле очень привлекательно выглядит Mercurial.


Я уже слышал этот аргумент, что в Базаре чересчур много понятий. Спорить с ним не буду, я скорее согласен с ним, чем наоборот.

НО! Я готов терпеливо объяснять, как можно прожить не вникая в эти тонкости и не заморачиваться.

Мой подчиненный на работе так и живет: освоил базовый набор команд и ему хватает для эффективной работы.

Так что если не пугаться и отвлечься от туториалов, то освоиться будет так же легко, как и в hg.

---

Ребята, вот что я скажу. У каждой из 3х систем есть свои достоинства и недостатки. На первый взгляд все достоинства и недостатки не видно. Иногда даже через пару месяцев на все грабли можно не наступить. Сегодня Базар -- это достаточно хорошая система. В чем-то лучше, но в чем-то и хуже других 2х. Весь вопрос в том, какие достоинства вам важны в первую очередь и с какими недостатками вы согласны мириться.

Делать выбор системы на основе эмоций -- гиблое дело.

Делать выбор системы только потому что в форуме вам отвечает кто-то толковый -- тоже не самый оптимальный вариант.

Однако, как ни странно, если взвесить за и против всех 3 систем с холодным сердцем и ясным рассудком, то для среднестатистического (3 руки, 3 ноги, 1,5 глаза) пользователя я бы порекомендовал начинать с Меркуриала.

Но лично я с Базара на Меркуриал переходить не буду ни при каких обстоятельствах. Может быть на Гит когда-нибудь, но я не уверен. Остается еще слабая надежда, что главразрабы Базара таки доделают его до ума (в плане скорости и поддержки концовок строк).
Doka
Цитата(yes @ Dec 15 2008, 19:11) *
не претендуя на объективность, хочу поделится впечатлениями от попытки развернуть систему и попробовать инструментарий

интересовало работа как под виндовс, так и под линукс, для достаточно большого HDL проекта (как выяснилось, что со всеми библиотеками тянет на несколько миллионов строк - cvs репозиторий прошлого проекта 3Gb со всякими бинарниками : visio, word и т.п.)

ой какая интересная тема!!


Цитата(bialix @ Dec 16 2008, 12:09) *
.. если охота использовать коротко живущие ветки для реализации каждой отдельной фичи. Почитайте UQDS: divmod.org/trac/wiki/UltimateQualityDevelopmentSystem

Обратите внимание на то, что добрая половина документа -- это объяснение почему ветки это хорошо. Плюс гит имеет хорошую двухсторонюю работу с нативными свн-ветками, т.е. можно взять свн код, затащить его в гит, там поработать, объединить с транком, а в конце просто сделать push из гита назад в свн.

да-да!!.. очень пользительная фича!!!

to yes
>> хотелось бы отметить, что для маленькой группы, которая тесно сидит в одном месте переход с svn на распределенную систему вряд ли имеет смысл

вот тут описана ситуация (проблема), в которой распределённые системы (да еще и с поддержкой свн-веток реально рулят: http://electronix.ru/forum/index.php?showtopic=49927
yes
Цитата(scifi @ Dec 16 2008, 09:52) *
Git: смущает состояние порта для Windows. Устанавиливал msysgit - показалось, что установилась половина Юникса (очевидно, дли обеспечения работы git). Сотня разных команд, без поллитры не разберёшься.


ну вообще-то виндовый инсталятор git < 10 MB, а других около 15

за нормальные утилиты grep, find, awk только спасибо можно сказать (там кстати не cygwin, a mingw)

и майкрософт за 20 лет так и не сумел сделать нормальное автопродолжение ввода - то что есть - это просто издевательство





Цитата(bialix @ Dec 16 2008, 12:09) *
Не надо писать GIT MERCURIAL BAZAAR все в верхнем регистре. Это не аббревиатуры. Это имена собственные. Должно быть Git, Mercurial, Bazaar.

Окей? Долой безграмотность.

ОК smile.gif

Цитата
Имеет, если охота использовать коротко живущие ветки для реализации каждой отдельной фичи. Почитайте UQDS: divmod.org/trac/wiki/UltimateQualityDevelopmentSystem


а чем svn ветка отличается?
мне показалось, что Bazaar использует схожий принцип "копирования"

ну и git умеет с нативными cvs работать, по крайней мере git-cvs пакадже имеется так же как и git-svn (но не проверял)

Цитата
Извините? Это вы о чем?
Обратите внимание на этот скриншот: http://qbzr.googlegroups.com/web/qlog.png
Это вам что -- не граф ревизий? Вы че, серьезно?


вот кстати иллюстрация о необходимости понятной документации или наличия того, у кого можно спросить - сам бы я не догадался, что в эти серенькие кружочки надо кликать, чтобы развернулось "дерево"

btw: а у hg такое есть?

Цитата
Однако, как ни странно, если взвесить за и против всех 3 систем с холодным сердцем и ясным рассудком, то для среднестатистического (3 руки, 3 ноги, 1,5 глаза) пользователя я бы порекомендовал начинать с Меркуриала.


вот мне как раз показалось наиболее неподходящим вариантом - то ли потому, что начал сравнивать последним, то ли настроение плохое было smile.gif

не понравилось отсутствие единого интерфейса под виндовс и линукс - то есть вдвое больше времени разбираться/глюков воркэраундить

я согласен, что для нормальной работы набора комманд достаточно, но если что-то разбирать - хотелось бы иметь внятную визуализацию

опять же для git/bzr есть моды для xemacs-а (причем для git несколько), а для hg нашел только для emacs в составе 3-в-1
а будет ли ОК с emacs-овским скриптом - не понятно (чего-то я к xemacs-у привык)

Цитата
доделают его до ума (в плане скорости и поддержки концовок строк).

а что это проблема CR-LF? или о чем то другом
она что не решается каким-то скриптом (ну то есть с незначительными усилиями)?
bialix
Цитата(yes @ Dec 17 2008, 18:11) *
за нормальные утилиты grep, find, awk только спасибо можно сказать (там кстати не cygwin, a mingw)


http://gnuwin32.sf.net рулит если често без всякого msys

Цитата
а чем svn ветка отличается?


тем что merge tracking так в svn до ума и не довели. по крайней мере то, что я прочитал о поддержке в версии свн 1.5 вызвало только грустную ухмылку. Те кто плотно работал с ветками и их объединением в распределенных системах, те поймут -- свн предлагает полумеры. Но это ее личное дело.

Цитата
вот кстати иллюстрация о необходимости понятной документации или наличия того, у кого можно спросить - сам бы я не догадался, что в эти серенькие кружочки надо кликать, чтобы развернулось "дерево"


Гм. как говорится -- без комментариев. Если плюсик в центре никакие аналогии не вызывает, то да. Насколько я могу судить плюсик в квадратике или кружочке используется во многих графических пакетах для работы с разворачиванием веток в TreeView виджетах. Вы похоже плотно сидите в командной строке, только так я могу для себя объяснить вашу реакцию.

Цитата
а что это проблема CR-LF? или о чем то другом
она что не решается каким-то скриптом (ну то есть с незначительными усилиями)?


Сейчас один из разработчиков Базара снова вернулся к реализации нативной поддержки CR-LF.
Так что надежда только укрепилась.

Любые внешние скрипты -- это подпорки. В марте-апреле этого года я пытался написать патч для Базара для поддержки концовок строк. Поверьте мне просто на слово -- это только кажется, что там все легко. Есть много нюансов, которые нужно учитывать, чтобы вся система в целом работала корректно.
AlexRayne
по моему опыту svn утомил сильно своей рубленостью - если закойто мусор закомитил, его потом невырубиш и топором, 2) для того чтобы делать правки более менее способные накладыаться на другие ветки надо делать аккуратные changesetы, a svn такого непонимает.
посему перелез на меркуриал и сичас радуюсь.
основная мулька у него ето расширение mq - альтернатива линуховой тулы quilt - менеджер управления патчами.
сейчас появилась тенденция ухода от менеджмента патчей к менеджменту веток. а растет она от того что меркуриал довольно гибко может работать со своим деревом версий.
tortoisehg практически непользуюсь, ненужно както.

git +quilt имхо даст меркуриалу фору сильную, но гит сложнее в освоении и как его под виндой запускать? под msysом? гемор ето.

вот кратко мой опыт и мнение
Maddy
тож смотрел с сторону гита ... но на момент просмотра под форточками он адекватно не работал ... В итоге сел на меркуриал(тогда он был 0.9) и на нем и сижу ... В принципе пользую командную строку( в силу привычки) , но коллеги активно используют черепаху(TortoiseHg) ... Она(TortoiseHg) кстати, дерево веток нормально рисует ... IMHO плохо только одно - мерк очень плохо относиться к файлам >10Mb ....
HARMHARM
Цитата(yes @ Dec 15 2008, 18:11) *
hg интегрируется в эксплорер и создает иконки такие же как tortoisesvn, но при этом опять весь графический интерфейс сводится к выводу текста в окошках (revision graph там как раз отсутствует)

Как раз присутствует. См. скрин.
Цитата
при этом эксплорер начал как-то подозрительно тормозить, перелистывая папки и этот tortoisehg я по-быстрому убрал.

Хм. Надо смотреть настройки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.