CVS и SVN

Anonim

CVS против SVN

CVS (система параллельных версий) и SVN (SubVersioN) - это две файловые системы контроля версий, которые широко используются командами, которые сотрудничают в одном проекте. Эти системы позволяют сотрудникам отслеживать сделанные изменения и знать, кто их разрабатывает, и следует ли применять ветку к основному багажнику или нет. CVS является намного более старшим из двух, и он стал стандартным инструментом совместной работы для многих людей. SVN намного новее, и он вводит множество улучшений для удовлетворения потребностей большинства людей.

Вероятно, самым большим улучшением SVN является добавление атомных коммитов. Атомные коммиты позволяют использовать каждую фиксацию полностью или совсем не. Это может быть весьма полезно, когда сервер падает в середине фиксации. С помощью SVN фиксация может быть отменена, в то время как CVS не может отменить частичную фиксацию. Другим дополнением является возможность чистого переименования и перемещения файлов в репозитории. С SVN файлы, которые были переименованы или удалены, сохраняют историю изменений и метаданные. CVS также не может вытолкнуть любые новые изменения в родительские репозитории, в то время как это может быть достигнуто в SVN с использованием некоторых инструментов. Эти функции просто не поддерживаются CVS или не являются частью его первоначального дизайна и часто вызывают множество проблем для некоторых людей.

Что касается доступа к сети через сеть, как поддержка проприетарных протоколов, которые можно туннелировать через SSH-соединение для обеспечения безопасности информации, которая передается по сети. SVN добавляет немного больше с помощью WebDAV + DeltaV. Этот протокол основан на HTTP и HTTPS и предоставляет пользователям еще одну возможность подключения к SVN.

Для большинства людей, которые только начинают с SVN и CVS, SVN является превосходным и логичным вариантом между ними. Он предоставляет пользователю правильный набор функций, соответствующий его потребностям. Единственная причина продолжать использовать CVS - это то, что вы застряли в устаревшей системе, которую довольно сложно переместить в систему SVN.

Резюме: 1. SVN является более новым и более совершенным по сравнению с гораздо более старыми CVS 2. SVN разрешает атомные коммиты, в то время как CVS не 3. SVN позволяет переименовывать и перемещать, в то время как CVS не 4. SVN позволяет распространять изменения в родительских репозиториях, в то время как CVS не 5. SVN поддерживает два сетевых протокола, в то время как CVS поддерживает только один