Перейти к содержимому

Разница между CVS и SVN

    CVS против SVN

    CVS (Concurrent Versions System) и 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 — только один

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Adblock
    detector