Subversion имеет некоторые существенные победы над CVS:
- хорошие отдаленные варианты HTTP/HTTPS/СВН против п-сервер
- атомарные коммиты
- вездесущий инструмент поддержки
- переименовывать
- каталог версия
Однако у этого есть серьезные недостатки. Самым большим является то, что филиалы и теги не являются гражданами первого класса в svn, это просто каталоги, которые придерживаются конвенции. В дополнение к потере некоторых преимуществ реального разветвления и тегирования (упомянутых в других комментариях) самая большая проблема, которую он создает, заключается в том, что если очень легко завинчиваться.
Использование Subversion в соглашении, а не в конфигурации означает, что вам нужно заранее подумать о своей структуре репозиториев и обеспечить, чтобы все придерживались его. Кроме того, вы создаете мир обид для будущих поколений, не говоря уже о каких-либо инструментах, которые нужно задирать ваше репо.
Слияние и зеркальное отображение почти не было (хорошо помощь) до 1.5. 1.5 предпринял шаги для решения этих проблем, но есть еще возможности для улучшения. Слияние в подрывной деятельности все еще намного сложнее, чем должно быть.
SVN по сравнению с CVS почти не вызывает затруднений. Тем не менее, вы не должны, по крайней мере, подумать о том, что могут предложить DVCS (Git, Hg, Bzr), или если ваш бюджет позволяет использовать коммерческие инструменты с отличной репутацией (Accurev, Perforce).
Subversion, вероятно, правильный выбор, но вы должны сделать домашнее задание, чтобы получить наилучшие результаты. Начните с Красной книги http://svnbook.red-bean.com/
есть аналогичный вопрос http://stackoverflow.com/questions/1261/what-are-the-advantages-of-using-svn-over-cvs – hayalci 2008-10-29 00:02:11
@hayalci: Почему бы не сделать ваш комментарий к этому вопросу? вопрос? :) – Pistos 2008-10-29 00:14:56
@Pistos: добавил его к моему ответу. – hayalci 2008-10-29 18:24:43