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

[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] metaclass.livejournal.com 2009-08-10 09:46 am (UTC)(link)
Не говоря уже о том, что я смогу в принципе дома сделать один центральный репозиторий, куда буду вытаскивать changeset-ы с работы, а затем растаскивать по трем рабочим компам дома. В три раза уменьшение трафика и времени фактически.

[identity profile] jek-hor.livejournal.com 2009-08-10 10:26 am (UTC)(link)
Именно. У svn остался только один плюс, но и тот сомнительный --- работа с подпроектами.

[identity profile] kiryl.livejournal.com 2009-08-10 02:22 pm (UTC)(link)
Ребе, а чем плохи git submodule или git merge -s subtree?

[identity profile] jek-hor.livejournal.com 2009-08-10 02:55 pm (UTC)(link)
Тем, что я никогда про них не читал :)

Но в нём всё равно нельзя стянуть с сервера пару каталогов, поправить и залить назад. Идеология по определению не та :) И это к лучшему, ИМХО. Чуть сложнее в администрировании репозиториев, зато путаницы меньше со всякими логами-диффами.

[identity profile] kiryl.livejournal.com 2009-08-10 02:58 pm (UTC)(link)
Если есть ssh, то всё можно ;)

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

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

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