metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-08-10 01:38 am

Mercurial

В честь того, что у меня завтра отключают телефон в связи с "заменой телефонной линии", а так же пропаданиями света на сервере svn и отключением маньяками другого сервера, виртуального, вместе со всей вмварью, сижу изучаю сабж.
Сразу могу сказать, что ребе [livejournal.com profile] belnetmon будет несказанно рад тому, что его экспериментальные разработки можно будет коммиттить локально и созерцать их историю, ничего не меняя в основной ветке. Не говоря уже о том, что ему не нужно будет подключаться по GPRS из турции к центральному серверу для коммитов.


PS: Топки холокоста, оно .hg делает только в корне репозитория, это же позитив несравнимый с .svn в каждой папке рабочей копии subversion.

PPS: Как минимум, отключение интернетов мне уже пофиг - я уже две копии проектов одновременно запилил под hg и svn, т.е. смогу пилить в второй копии под hg, затем сделать push в первую и закомиттить в центральный svn по мере возможности.

[identity profile] theiced.livejournal.com 2009-08-09 10:56 pm (UTC)(link)
я таки уже дааавно вам пейсал - что надо переходить. там ещё вкусностей море - patch queue, бранчи сделанные для людей а не для пришельцев с юпитера, лёгкое написание экстэншнов...

[identity profile] kkirsanov.livejournal.com 2009-08-09 10:57 pm (UTC)(link)
Сам пересел на меркуриал где то с месяц назад и с тех пор непрестанно радуюсь.

[identity profile] azaitsev.livejournal.com 2009-08-09 11:00 pm (UTC)(link)
Ты не представляешь какого фетиша лишается Белнетмон

[identity profile] wildman.livejournal.com 2009-08-09 11:46 pm (UTC)(link)
похоже эта хрень заразна :)

зы. сам выбираю между hg и git :)

[identity profile] vp.livejournal.com 2009-08-09 11:57 pm (UTC)(link)
Даже само по себе отсутствие в каждой папке папки .svn - это УЖЕ многое. Меня лично удолбло оно :)

[identity profile] metaclass.livejournal.com 2009-08-09 11:59 pm (UTC)(link)
Ну собственно говоря, ваше мнение, ребе, а так же рассказы [livejournal.com profile] zabivator и послужили так сказать, стимулом :)
Главное на это было время выделить среди бесконечного "когда тут думать, пилить надо" :)

[identity profile] metaclass.livejournal.com 2009-08-10 12:04 am (UTC)(link)
Тут есть тонкий аспект. Mercurial рассматривает репозиторий как целое, т.е. ты не сможешь, как сейчас, держать у себя подмножество моих папок. Это и делает возможным отсутствие .svn в каждой папке.
Я вот немного с этой штукой поработаю, посмотрю, помешает ли это работе или нет. Потому что эта фича даже на сайте меркуриала явно написана "держать в одном репозитории разные проекты как бэ не рекомендуется".

[identity profile] jek-hor.livejournal.com 2009-08-10 12:55 am (UTC)(link)
Тоже самое с git. Зато он не жрёт место на винчестере в двойном объёме, достаточно быстро работает по сети и хранит у себя всю историю. С Mercurial тоже так по идее --- работал давно и недолго с ним.

[identity profile] theiced.livejournal.com 2009-08-10 05:00 am (UTC)(link)
Ну не рекомендуется и не надо :)
Меня не парит делать fetchи нужные, kva например написал (или взял откуда то) экстэншн мелкий для этого.

[identity profile] theiced.livejournal.com 2009-08-10 05:00 am (UTC)(link)
git наркоманский какой то ;)

[identity profile] kiryl.livejournal.com 2009-08-10 05:48 am (UTC)(link)
от наркомана слышу ;)

[identity profile] theiced.livejournal.com 2009-08-10 05:50 am (UTC)(link)
не не не - он точно инопланетянами делался. зуп даю.

ну или я не осилил.

[identity profile] kiryl.livejournal.com 2009-08-10 06:24 am (UTC)(link)
Почитай "Pro Git". Есть в и-нете. Очень доходчиво. Я себе на амазоне её заказал.

[identity profile] theiced.livejournal.com 2009-08-10 06:30 am (UTC)(link)
выслушаю про плюсы лучше - что там есть ТАКОГО :)

[identity profile] nivanych.livejournal.com 2009-08-10 07:01 am (UTC)(link)
Помнится, поначалу я выбирал между mercurial и git.
Mercurial, благодаря своей рекламе, победил с разгромным счётом ;-)
Но мааленькое сомнение остаётся.

[identity profile] d4s.livejournal.com 2009-08-10 07:22 am (UTC)(link)
+1

[identity profile] kiryl.livejournal.com 2009-08-10 07:39 am (UTC)(link)
Мой топ фич git:
- git более unix-way, чем Mercurial. Можно делать практически всё из shell, вплоть до низкоуровневых операций над хранилищем. И не нужно лезть в Python.
- большое opensource-community. Больше opensource проектов используют git(из интересных мне проектов нет ни одного использующего hg). Большое сommunity разработчиков самого git, что позволяет быстрее реагировать на запросы пользователей.
- в git можно импортировать практически из любого другого SCM: Subversion, CVS, GNU Arch, Mercurial, Bazaar...
- локальные бранчи
- staging area: проще добиваться хорошей гранулированности изменений.

[identity profile] theiced.livejournal.com 2009-08-10 07:48 am (UTC)(link)
>- git более unix-way, чем Mercurial. Можно делать практически всё из shell, вплоть до низкоуровневых операций над хранилищем. И не нужно лезть в Python.

в меркуриале тоже самое. и не нужно никуда лезть.

>- большое opensource-community. Больше opensource проектов используют git(из интересных мне проектов нет ни одного использующего hg). Большое сommunity разработчиков самого git, что позволяет быстрее реагировать на запросы пользователей.

на мои запросы - говорил прямо с автором, отреагировали очень быстро ;]

>- в git можно импортировать практически из любого другого SCM: Subversion, CVS, GNU Arch, Mercurial, Bazaar...

а в меркуриал низя? ой вэй, я и не знал.

>- локальные бранчи

хито тут? какие могут быть НЕ локальные бранчи в распределённой системе?

>- staging area: проще добиваться хорошей гранулированности изменений.

а это кто?

[identity profile] kiryl.livejournal.com 2009-08-10 08:13 am (UTC)(link)
> в меркуриале тоже самое. и не нужно никуда лезть.

Есть аналоги cat-file и for-each-ref?

> хито тут? какие могут быть НЕ локальные бранчи в распределённой системе?

В mercurial можно не пушить отдельный бранч?

> а это кто?

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

[identity profile] zamotivator.livejournal.com 2009-08-10 08:29 am (UTC)(link)
- git более unix-way, чем Mercurial. Можно делать практически всё из shell, вплоть до низкоуровневых операций над хранилищем. И не нужно лезть в Python.
В mercurial всё делается через консоль.
А killer feature hg glog у него нету!

- большое opensource-community. Больше opensource проектов используют git(из интересных мне проектов нет ни одного использующего hg). Большое сommunity разработчиков самого git, что позволяет быстрее реагировать на запросы пользователей.
Абстрактное бла-бла-бла. Под винду до сих пор у git'а проблем больше, в отличии от mercurial.

в git можно импортировать практически из любого другого SCM: Subversion, CVS, GNU Arch, Mercurial, Bazaar...
Смотря что понимать под "импортить". Я просто wc держу под hg и под svn
Ковертация репозитория? convert в hg.
А что ещё надо, по сути?

- локальные бранчи
hg help branch
Есть.

staging area: проще добиваться хорошей гранулированности изменений.
Что это?

[identity profile] blacklion.livejournal.com 2009-08-10 08:30 am (UTC)(link)
Зато к mercurial Есть плагин Forest, позволяюбщий работать с пачкой репозиториев как с одним — там все команды добавляются с буковкой f (fpull, fpush, и так далее)..

[identity profile] kiryl.livejournal.com 2009-08-10 08:36 am (UTC)(link)
> А killer feature hg glog у него нету!

А за базар ответишь? ;)
git log --graph

[identity profile] zamotivator.livejournal.com 2009-08-10 08:38 am (UTC)(link)
Кстати, extension'ы mercurial невозбранно радует =)
Вообще их количество говорит о хорошей кастомезабельности и востребованности этого.
Помните? "Если игрушка хорошо - к ней будут море плагинов и расширений".
Смотри http://fullrest.ru/ - убеждаемся, что Morrowind до сих пор жив (спустя семь лет, что для игры много).
Тут также.

[identity profile] zamotivator.livejournal.com 2009-08-10 08:40 am (UTC)(link)
Отлично.
В итоге равный счёт, ничья.

У mercurial отличная документация - разобраться с ним занимает ровно 40 минут. Чем крыть будешь?
Ссылки на progit не канают, там читать слишком дохуя.

Проблемы с вендой чем крыть будешь?

[identity profile] kiryl.livejournal.com 2009-08-10 08:58 am (UTC)(link)
> У mercurial отличная документация - разобраться с ним занимает ровно 40 минут. Чем крыть будешь?

http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html

> Ссылки на progit не канают, там читать слишком дохуя.

Классный аргумент! "Почитайте мне вслух!"

> Ссылки на progit не канают, там читать слишком дохуя.

Вцелом мне на винду по%#й. А какие там сейчас проблемы с http://code.google.com/p/msysgit/ ?

Page 1 of 3