воскресенье, 17 мая 2009 г.

Еще раз коротко про слабые стороны систем контроля версий

CVS
- нет атомарных коммитов
- нет переименования файлов и каталогов
- долгие операции с тэгами
- много данных передается по сети
- простая система аутентификации

SVN
- создание тегов не интуитивное
- сложно мерджить ветки в основной "ствол"

Mercurial и Bazaar
- хранят локально не только проект, но и все данные о нем, например, историю изменений
- поддержка разными IDE хуже т.к. системы еще молодые
- вы должны знать, с кем вы бы хотели смерджить изменения, все ли заинтересованные люди получат ваши обновления?

Bazaar, в отличии от Mercurial, позволяет работать через центральный сервер(как CVS или SVN).

P.S. Всего лишь резюмировал эту статью

4 комментария:

Sergei Tulentsev комментирует...

Чувак, локальная история - это же огроооомный плюс.
Вот отрубился у тебя интернет? И что? В некоторых системах ты даже файл отредактировать не сможешь. А с распределнными системами - продолжаешь работать нормально. Появился интернет - залил изменения. Опять же, можно иметь больше одного "центрального" сервера.

Ты забыл Git упомянуть, кстати.

Unknown комментирует...

Создание тегов в SVN очень даже просто делаеться. А интутитивными, имхо, сист. сонтроля версий не бывают вообще :). Кроме, того, SVN без сервера очень даже не плохо существует - править можно сколько угодно, сравнить с текущей копией тоже, даже вроде история частично есть.

Alexander Lipatov комментирует...

Сергей, если интернет отрубился и локально хистори надо смотреть, то это печальный случай. Для мелкого проекта действительно локально копию хистори иметь не очень то накладно. Но вот у меня, например, проект очень большой. У нас на тестовом сервере даже часто превышаем лимит файловой системы на количество файлов. Хранить локально историю для такого проекта звучит страшно :-)

CrazyCoder, да, для меня как человека, который никогда не работал с распределенными системами, SVN кажется оптимальным вариантом))

Я поизучаю еще эту тему поплотнее и обязательно что-нибудь еще напишу..

Sergei Tulentsev комментирует...

2Alexander: Если тебе жалко сотню мегабайт на хранении истории - вот это действительно печальный случай. :-)

Исходники вижул студии занимают всего ~20 MLOC, а это проект поболе вашего будет. :-)

2CrazyCoder: Да уж, в SVN только и можно, что файлы редактировать и сравнивать с последней версией. Истории, AFAIR, никакой не хранится. Волей-неволей придется разнородные изменения в один коммит пихать (что плохо). Или потом, когда появится интернет, раскидывать файлы по коммитам (что тоже чревато ошибками).

В общем, распределенные системы рулят.