Как жить с Visual Source Safe 2005? - PullRequest
5 голосов
/ 22 мая 2009

В настоящее время я работаю в среде, в которой все еще есть VSS 2005. В настоящее время у меня нет возможности перейти на Subversion, TFS и т. Д.

На какие основные недостатки следует обратить внимание в VSS 2005 - как я могу наилучшим образом использовать его, чтобы попытаться сохранить свои версии и не взорвать мой исходный код? Например, лучше ли интегрировать его с Visual Studio 2008 или просто использовать клиент VSS?

Ответы [ 5 ]

10 голосов
/ 23 мая 2009

Не делайте ничего сложного с VSS. Я думаю, что многие люди, у которых никогда не было проблем с VSS, просто использовали его в качестве общего ресурса (т. Е. Файлы проверяются один раз и никогда не изменяются) - по иронии судьбы использование VSS в качестве обычного резервного копирования файлов фактически увеличивает вероятность катастрофических потерь!

VSS топит вас в куче плохо сформулированных вопросов. Нет единого ответа на каждый вопрос, вам придется остановиться и подумать о каждом. При отключении от VSS вас постоянно спрашивают, хотите ли вы перейти на использование VSS через IIS, если вы это сделаете, не будет очевидным, как отменить его.

Не используйте плагин VSS, чтобы получить начальный проект или проверить проект. Подключаемый модуль VSS, как правило, помещает ваши файлы в неожиданные места, использует клиент VSS, который с гораздо большей вероятностью предоставит вам структуру папок, которая отражает структуру проекта в VSS.

Не используйте встроенные функции для ветвления, не объединяйте. Создайте новый проект VSS (т. Е. Новый набор папок) и проверьте код, как если бы вам нужно было разветвиться. Используйте что-то похожее на сравнение, если вам нужно смоделировать слияние.

Не переименовывайте файлы, вместо этого добавьте новые, скопируйте и вставьте, а затем удалите. Это разрывает цепочку истории, но имеет меньше обострений

Разрешите многократное извлечение, но неофициально не позволяйте выполнять слишком много работы над одной и той же областью кода, не позволяйте другим разработчикам допустить, чтобы их версия стала слишком устаревшей, потому что тогда вы пытаетесь объединить свою старую работу версия папки и последняя версия, а VSS имеет тенденцию утопить начинающих разработчиков в вопросах, которые они не понимают.

Не делайте слишком больших проверок. Не используйте при медленном сетевом соединении без сторонних продуктов.

Если вы используете плагин VSS в Visual Studio, периодически используйте клиент VSS для сравнения и синхронизации вашей рабочей папки, но делайте это файл за файлом, а не в пакете.

Не позволяйте хранилищу становиться слишком большим. Сплит репозитории для несвязанной работы.

Не обманывайте себя паролем входа в систему. VSS не более безопасен, чем разрешения NTFS для папки.

Когда разработчик покидает компанию, попросите его отменить оформление заказа. На порядок проще отменить извлечение, используя тот же компьютер и учетные данные пользователя и рабочую папку, чем использовать учетную запись администратора для отмены чужих проверок.

Также применимы все лучшие практики для любой системы контроля источников, например, проверьте последовательные версии двоичных файлов как binaryfile.bin, а не binaryfilev1.bin, binaryfilev2.bin, но скажите VSS, что .bin или что вы имеете в виду двоичный файл, или он попытается объединить текст.

8 голосов
/ 23 мая 2009

Как жить с Visual Source Safe 2005?

Алкоголь. Грузы этого.

4 голосов
/ 23 мая 2009

Запустите скрытый SVN-репозиторий с автоматическим заданием, которое каждую ночь проверяет последние VSS-файлы и проверяет их в SVN.

Когда VSS умрет (и это произойдет), скажите боссу, что у нас готов второй репозиторий.

3 голосов
/ 22 мая 2009

В последний раз, когда я пытался это сделать (что было очень давно), интеграция Visual Studio плохо работала с использованием веток проекта VSS.

Я просто использую VSS-клиент.

Другие рекомендации:

  • Регулярно запускать администратор VSS для "анализа" (для обнаружения / исправления любого повреждения в базе данных)
  • Создайте и протестируйте регулярное (например, ночное) резервное копирование базы данных и используйте функцию «shadow» на тот случай, если база данных когда-либо будет повреждена и не подлежит восстановлению
3 голосов
/ 22 мая 2009

У меня не было ничего, кроме негативного опыта при попытке интегрировать VSS с VS, поэтому я бы порекомендовал этого не делать. Однако в то время мы имели дело с проектами ASP.Net 1.1, у которых не было приятной возможности жить где-либо в любой структуре папок, и это, в основном, то, где мы сталкивались с проблемами - пытаясь синхронизировать структура проекта с хранилищем VSS.

Кроме этого, я могу только предложить, чтобы вы не регистрировали код через VPN-соединение, которое может быть сброшено. На самом деле ... я бы посоветовал никогда вообще не проверять код удаленно;) Если соединение обрывается в середине коммита, вы можете удвоить вероятность повреждения базы данных.

...