SVN? VSS? Почему один лучше другого?
Мне кажется, что большинство людей считают SVN позолотой, тогда как VSS - самая худшая программа, когда-либо созданная (по крайней мере, как контроль версий).
Итак, почему? Я использовал некоторые CVS, и моя текущая работа использует VSS, и от ворчания в команде, я не могу сказать, что это большая разница. Большинство различий, которые я видел, являются косметическими. Конечно, я не пытался делать какие-либо ветвления/слияния в любом случае, но как кодер, который входит, проверяет файлы, работает над этими файлами и проверяет их в конце дня, зачем мне нужно 1 над другой?
Ответы
Ответ 1
"Visual SourceSafe? Было бы безопаснее распечатать весь ваш код, запустить его через измельчитель и установить его под огонь". - (Приписывается неопознанному сотруднику Microsoft).
У SourceSafe много проблем и нет возможностей для выкупа. Существует несколько свободно доступных кросс-платформенных альтернатив, которые являются более безопасными, быстрыми и мощными. Subversion, вероятно, наиболее широко используется. Некоторые люди предпочитают распределенные системы управления версиями, такие как Git, Mercurial или Bazaar.
Некоторое чтение о том, почему VSS так плохо:
Ответ 2
Я отсылаю вас к ответам на Что отличает Subversion?.
Ответ 3
Microsoft, которая делает Visual Source Safe, не использует ее внутренне для любых проектов любого значительного размера. Это серьезная ошибка в моей книге. И используя его для крупных проектов, вы понимаете, почему; это МЕДЛЕННО, и бог поможет вам, если вы когда-нибудь решите позволить ему автоматически слить что-либо.
Ответ 4
VSS не atomic, так что получить последнюю во время большой регистрации другого пользователя приведет к неполному набору файлов, Это также ухудшается при работе над глобальной сетью из-за дизайна VSS для работы над акциями.
Ответ 5
Моя последняя компания перешла из VSS в SVN из-за
- Expansion. Количество программистов удвоилось, и мы не хотели отказываться от дополнительных лицензий VSS.
- Bugs. VSS хорошо поддерживает последнюю версию файла, но истории часто повреждаются.
- Больше ошибок. Инструменты проверки/восстановления были бесполезны, поскольку они начали сбой, когда база данных была очень большой.
Ответ 6
SVN имеет некоторые важные функции по сравнению с CVS/VSS, такие как атомные коммиты, дешевые копии, более эффективное хранилище на стороне сервера.
SVN - это, однако, не единственная система контроля версий... Существует множество различных приложений контроля версий. Новая тенденция, похоже, связана с распределенным контролем над версиями, например Git или Mercurial.
Ответ 7
Я знаю, что легко выбрать VSS, но важно помнить несколько вещей (выньте из сорняков в течение секунды!)
- Для небольших групп разработчиков Microsoft VSS - это очень простое решение для реализации, где альтернативой является NO VERSION CONTROL.
- VSS не требует затрат, не требует сервера (кроме общего файла).
- Самый низкий общий демонизатор.
- Обычно это работает, и несколько магазинов используют его.
- Я предпочел бы использовать VSS в качестве опции, чем для того, чтобы он не существовал.
Вы не должны соглашаться со мной во всех этих моментах, я только демонстрирую, что у него есть это место, и имеет ценность в разных сценариях.
Ответ 8
VSS имеет очень плохую историю, которую нужно преодолеть. Более свежие версии кажутся более стабильными, но у них все еще есть метрическая дерьма отрицательного багажа, в котором он находится.
Ответ 9
Вы должны запускаться из VSS, как только сможете. Если у вас в прошлом не было проблем с этим, то от некоторых из них. Это похоже на ручную рулетку с бомбой замедленного действия - вы никогда не знаете, когда она ударит.
SVN - отличный инструмент и очень прост в настройке, управлении. Инструменты администрирования для резервного копирования или репликации очень приятны.
Я бы порекомендовал SVN над VSS в любой день.
Ответ 10
Старый аргумент интеграции в Visual Studio больше не работает. AnkhSVN 2.0 предоставляет интегрированное решение и VisualSVN интегрирует TortoiseSVN в Visual Studio.
И TortoiseSVN сам по себе является достаточной причиной для переключения для многих пользователей.
Ответ 11
У меня проблемы с VSS с кодом Java. В то время как getLatestVersion, VSS не может обрабатывать вложенную структуру проектов и пакетов в java.
У меня есть структуры папок inifite для того же самого. SVN в этом отношении довольно прост.
Ответ 12
Ну, CVS и VSS - это почти то же самое, что и функциональность. Поэтому они не являются хорошей отправной точкой для сравнения каждого из них.
Однако вы, вероятно, никогда не увидите разницы между SVN и VSS, если вы просто используете их как ворчание в команде. Вам действительно нужно начать использовать их в качестве менеджера проектов, чтобы действительно увидеть различия, такие как ветвление, слияние и т.д.
Ответ 13
SVN хорошо работает с точки зрения разработчика, но способ, которым он хранит конфигурационную информацию по всему дереву каталогов, сходит с ума от системных администраторов (особенно тех, кому поручено переместить его на другой сервер, когда разработчики отказываются выполнять процесс фиксации/повторной проверки).:) Итак, это не ВСЕ позолоченная доброта!
Ответ 14
Я действительно думаю, что Perforce - позолоченная доброта. Инструменты GUI достаточно хороши, что вы можете дать их дизайнеру или художнику и заставить их использовать источник управления, как мы, разработчики. Я уверен, что окно VSS File- > Add Files предшествует окнам 95. Вся концепция заблокированных файлов является абсурдной. Разве мы не решали эти десятилетия назад с версией CONCURRENT? Я пережил коррупцию в истории и (исправьте меня, если я ошибаюсь), но VSS даже не поддерживает ветки и слияния.