kika: (default)
kika ([personal profile] kika) wrote2013-10-17 12:09 pm

Subperversion

Почитал http://users.livejournal.com/_winnie/407870.html и вдруг осознал что никогда в жизни не использовал svn. Было несколько раз когда просто чекаутил из чьего-то публичного репозитория и на этом всё (то есть буквально - ничего кроме svn co не использовал).
Как-то сразу с cvs переехал на hg, а потом на git, но гит я как-то еще не освоил.

Кстати, а если ли чего-нибудь интересненькое? Как-то вот была вспышка - Hg, bzr, darcs, потом git - и всё, конец истории.

[identity profile] evolver.livejournal.com 2013-10-18 02:00 pm (UTC)(link)
Не совсем строго по теме вороса, но я вот тоже не очень понял весь хайп вокруг "намного более простого мерджа в git" против "намного более сложного мерджа в svn". По мне так разница могла бы быть, если бы у одного из инструментов был бы умный мерджер, понимающий стукруту соединямых файлов, а не просто рассматривающий их как plain text files.

Может я что важное упустил?

[identity profile] anatolix.livejournal.com 2013-10-21 09:33 pm (UTC)(link)
у git как минимум если ты возьмешь один файл и его разрежешь на 2 части оно это поймет, у svn _возможно_ есть внешние тулзы которые могут это одуплить, но они платные - см araxis merge, хотя точно не уверен.

[identity profile] stepbeyond.livejournal.com 2014-11-13 07:29 pm (UTC)(link)
я тоже долго не мог понять hype svn merge vs hg merge. я довольно хорошо знаю svn, чтобы понять что масса критики относится к svn pre-1.6? когда с мержами было плохо. Сейчас паттерн branch-merge_from_trunk_nerge_from_trunk...-reintegrate_merge работает хорошо. но только если ему следуют и регулярно вмерживают транк в бранч. при этом два параллельных бранча могут обмениваться изменениями только в полуручном режиме cherry-pickingом. mercurial (как и git) даёт возможность продолжать вести свою ветку после reintegrate merge (там просто нет такого режима, поскольку бранчи не маппируются в другой путь дерева). В результате появляются возможность вести совершенно другой workflow, не завязанный на единственный trunk, нет вопросов "что делать с бранчем после вмерживания в транк, как его откатить, какпродолжить его развивать независимо?". То есть преимущества касаются не столько единичного мержа, сколько увеличения возможностей ведения большого количества довольно простых workflow против svn.
при этом cherry-picking делается несколько хуже. Точнее в svnе он естественнее.