SourceSafe действительно безопасен?


27

Потратив все утро, пытаясь что-то проверить - теперь я понимаю, что потерял пару дней работы.

Это произошло раньше - и, по-видимому, является обычным явлением с SourceSafe. Можно ли использовать SourceSafe успешно, без проблем, и если да, то как?


40
О Боже, НЕТ ... никогда, никогда!
Тим Пост

27
Я боролся долго и упорно , чтобы получить SourceSafe из моей компании. В конце концов выиграл, и все счастливее за это.
Кевин Д

13
Любая организация, использующая VSS, имеет неприятный «запах организации»
JoelFan

8
Фраза «Прибытие рано и часто». чтобы предотвратить подобные ситуации. Вы никогда не должны терять больше, чем несколько часов работы. Тем не менее, Iron Maiden лучше всего сказала о VSS: «Беги в горы! Беги за свою жизнь!»
Райан Хейс

3
Microsoft не использует это. Почему мы должны?
Greyfade

Ответы:


45

На мой взгляд, просто перейти на что-то еще как можно скорее. Это не займет много времени (1-2 недели WAG), и независимо от того, сколько времени займет миграция, это легко оправдать затратами для руководства. Небольшое время для перехода приравнивается к надежному контролю исходного кода и очень небольшому риску потери исходного кода. Если ваш начальник настроен скептически, сделайте быстрый поиск в Google, чтобы найти "источник безопасных страшных историй" или подобное.


Правда, но иногда нелегко оправдать нетехническое лицо, потратившее 1-2 недели на миграцию контроля версий.
t3mujin

2
@ t3mujin, см. обсуждение «технического долга» programmers.stackexchange.com/questions/18059/…
Неми

SourceSafe - это активная и постоянная ответственность за вашу краткосрочную и долгосрочную производительность. Его легко заменить любым количеством современных, безопасных и распределенных систем контроля версий. Проведите небольшое исследование с Google на тему ужасов SourceSafe, а также на профессиональную помощь СДЕЛАЙ СВОЙ СЛУЧАЙ СИЛЬНО. Делай все, что нужно.
Адам Кроссленд

3
@ t3mujin: перенести его по проектам. Там, где я работаю, мы использовали SourceSafe, теперь мы используем TFS. Миграция всего (сотни проектов) была бы проблемой, поэтому вместо этого, если у нас есть работа над старым проектом, все еще в SourceSafe, мы сначала тратим небольшое количество времени на его миграцию, и только потом начинаем работу.
Carson63000

@ Carson63000 Мы используем TFS для большинства текущих проектов, но существует большая исходная база с немногими, но редкими обновлениями VSS, которые никто не готов платить за переход на TFS. Я не в команде, которая использует его чаще, поэтому я в порядке с несколькими строками кода время от времени
t3mujin

33

Наихудший. SCM. Когда-либо.

Все, что не так в SCM, воплощено в VSS. Даже StarTeam лучше, чем Source Safe. Source Safe - это Internet Explorer 1 в мире контроля версий: он полностью заменен любой другой реализацией.

Как я это использовал?

Мой типичный рабочий процесс для достижения цели был

  1. Проверьте проект
  2. Заблокируйте все файлы (чтобы не слиться с кем-либо, потому что он открыл нечестивые врата ада)
  3. Сделал мою работу
  4. Каждый день проверял мои изменения в
  5. Проверил все обратно и исправил все проблемы с интеграцией
  6. Проверил обратно

По сравнению с Subversion, вышесказанное смешно (кроме проверки, что вы не сломали сборку).

Ограничения в программировании моей команды

Это те правила, по которым команда должна была работать, чтобы она работала для нас. Ваш пробег может варьироваться.

  1. Только один человек может редактировать файл (Небеса помогут вам, если они уйдут в отпуск)
  2. Не разветвляйте это слишком сложно управлять
  3. Никогда не пытайтесь вернуться к предыдущей ревизии

Что может быть сделано?

У Polarion есть хороший набор инструментов для перехода с Source Safe на Subversion (SVN), который является текущим стандартом де-факто на большинстве предприятий для управления версиями с открытым исходным кодом. Subversion страдает от того, что сервер должен быть доступен для регистрации (в отличие от GIT или Mercurial, которые предназначены для распределенных автономных команд).


@ Давид, не заставляй меня пытаться получить историю ревизий файлов или ветвления (я плачу, когда пишу - столько потраченных впустую часов моей жизни ...)
Гэри Роу

2
да, ветвление и слияние не очень весело в хорошем SCM. Я не думаю, что конгресс позволит вам заставить людей делать это в безопасном месте.
BlackICE

2
Никогда не возвращаться к предыдущей версии? Почему бы нет? И если да, то какова цель использования инструмента SCM?
JoelFan

В тот день, когда я был в магазине, который использовал VSS, у нас никогда не было проблем с возвратом к старой версии. Это кажется немного экстремальным. Я с тобой на ветвлении, хотя.
JohnFx

@JohnFx @SpashHit У нашей команды была очень низкая терпимость к боли, так что, возможно, я немного преувеличиваю. Когда появилась Subversion, это было похоже на то, как поднялся огромный груз.
Гари Роу


11

Мы сняли его с эксплуатации около года назад.

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

Мы перешли к TFS, и с тех пор она работает без сбоев.


1
+1 за вынимание операции. Вы правильно сделали.
Гари Роу

1
TFS красивая, красивая вещь. Если у вас есть тесто, чтобы заплатить за это, то есть.
Адам Кроссленд

2
@ Adam Crossland: Красивый, как большой бриллиант, и примерно по той же цене.
Orbling

1
@ Orbling: хорошо сказано.
Адам Кроссленд

1
Для тех, кто не распознает аббревиатуру, TFS является Team Foundation Server от Microsoft .
Кит Томпсон

9

Мой вид?

Есть лучшие, которые проще в использовании, безопаснее и абсолютно бесплатны. Зачем вообще его использовать?

Это одна из областей развития, где у нас есть большой выбор; большинство или все лучше, чем VSS.


"Most" немного смущает ... или, другими словами, что хуже, чем VSS?
Юрген А. Эрхард

@jae: Must - это просто классификатор, указывающий, что я не использовал их все, и, следовательно, не могу проверить их качество в отношении VSS; следовательно, "или все"
Стивен Эверс

9

Использование SourceSafe в коммерческой деятельности похоже на отопление здания путем сжигания долларовых купюр.

В 2000 году моя компания из восьми разработчиков, вероятно, потеряла 5-10% своей производительности из-за повреждения базы данных VSS в среднем два раза в день. Это было только так низко, потому что мы пошли на почасовые резервные копии.

С тех пор, как я перешел с VSS на Perforce, svn и git, у меня никогда не было поврежденной базы данных SCM.


7

Я могу проголосовать за это, но ..

альтернативный текст

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

Пожалуйста, не используйте его, никогда.


Вы вряд ли будете отвергнуты. Моя единственная критика заключается в том, что цианид, очевидно, является препаратом выбора для обычного пользователя VSS.
Orbling

7

использовал его годами - это было решение по умолчанию, так как оно уже было. Если бы это укусило меня довольно много раз, но инерцию трудно преодолеть

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

Перешел на Mercurial. Я могу клонировать всю базу исходного кода через VPN менее чем за минуту. И я больше не боюсь ветвления.

Никогда не вернусь.


Источник Offsite был для этого. Я тоже это хорошо помню. Я на самом деле купил свою собственную копию источника вне сайта, просто чтобы мне не пришлось делать VSS через VPN
BlackICE

+1 за «Я больше не боюсь ветвления» - признак зрелого СКМ
Гари Роу,

5

Это мерзость Но все же лучше, чем ничего.


12
Со всеми альтернативами трудно оправдать использование, потому что когда он пойдет на юг, у вас будет вот что: ничего.
DevSolo

13
Как это может быть лучше, чем ничего, если это приводит к потере работы?
billy.bob

4
Вы можете потерять работу ни с чем, а, SourceSafe может , по крайней мере спасти вас иногда .
BlackICE

4
@ Давид - так что может делать разумные резервные копии, прежде чем делать что-то потенциально «неприлично». Единственное, что конкурирует с VSS в случае неудачи - это MS BOB. VSS настолько ужасен, что должна быть создана благотворительная организация во имя лечения людей от ее использования.
Тим Пост

9
Нет, это хуже, чем ничего. Потому что, если у вас также нет резервных копий, у вас ложное чувство безопасности и вы можете потерять ВСЕ
CaffGeek

5

Я использовал его в течение долгого времени (почти 10 лет), не сталкиваясь с какими-либо проблемами лично (в том числе в командах, в которых я работал, хотя наш код был довольно хорошо разделен, чтобы избежать конфликтов и тому подобного).

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

Изменить: Из комментариев сообщение, кажется, избежать чего-либо сложного (ветвление, слияние, конфликты), и вы, вероятно, в порядке. Что-нибудь еще, и вы направляетесь на рискованную территорию.


Вы работали в команде или над сольными проектами в общей базе кода?
Гэри Роу

Внутри команды, хотя кодовая база была относительно хорошо разделена с точки зрения того, кто над чем работает, так что редко бывали конфликты.
Джон Хопкинс

@Jon Это объясняет беспроблемную работу.
Гари Роу

1
FWIW мой опыт похож на опыт Джона. 7 лет, команда из 8 человек, никаких проблем с использованием VSS. Видимо мы в (счастливом) меньшинстве. Я бы никогда не использовал его снова, основываясь на всех историях (сейчас использую SVN).
Стив Фэллоуз

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

5

Даже MS осуждает это в пользу TFS.

Для сольного или действительно небольшого магазина, работающего в Visual Studio 6 или чего-то более старого, это сносно и лучше, чем ничего. Я думаю, что есть много преувеличений о том, как все было плохо, но тогда достаточно одного случая потери ценной работы, чтобы испортить вам продукт (по уважительной причине). У VSS было свое место, и я благодарен ему за то, что он по крайней мере поощрял многих разработчиков, которые вообще не использовали инструмент SCM, чтобы привыкнуть к этому, но, как и многие технологии, сейчас он в значительной степени устарел.


Заставить людей начать использовать SCM - это хорошо, никаких аргументов. Но ... VSS? Плохой опыт не может дать продукту дурную славу, он может дать дурную славу всей категории. Или: сколько разработчиков запускает SCM с VSS, а затем подумал: «Ух ты, этот SCM настолько плох, как я ожидал», когда VSS облажался? Не говоря уже о том, что SCM является чрезвычайно важной частью инфраструктуры, что означает: ошибки не допускаются (да, я знаю ...)
Юрген А. Эрхард

@Дже это был не мой опыт. VSS был моим первым знакомством с SCM, и я никогда не оглядывался назад. Я не испытывал потери данных, повреждения или каких-либо проблем в течение ГОДОВ при его использовании. В конце концов я пошел дальше, но я думаю, что мне потребовалось бы больше времени для интеграции инструмента, если бы он не был предустановлен с Visual Studio.
JohnFx

3

После 3 лет его использования, время от времени жалуясь моему менеджеру из-за всех более продвинутых / рациональных альтернатив, у меня никогда не было проблем с VSS, но у меня никогда не было выбора.

Я считаю, что это и отстой, и от ударов.

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

Действительно больно.


3

Мой взгляд на VSS? Я отказался от нескольких предложений работы (очень хорошо оплачиваемых), потому что они просили "VSS proficibility". И я уверен, что здесь есть пара других людей, которые сделали то же самое.


1
+1, поставив «VSS мастерство» на работу объявлений является верным признаком того, что не только делает использование компании VSS, но у них есть установки , где ВСС уже настолько испорченные и проблематичные , что она требует подлинного опыта VSS , чтобы заставить его работать на все .
Carson63000

1

Мало того, что вы страдаете от проблемы потенциального искажения источника (что должно быть достаточным аргументом, чтобы руководство могло его заменить), но вам также приходится жить с неуклюжим резервным копированием и неспособностью эффективно работать в команде в разных направлениях работы.

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

Для простоты просто установите GIT - укажите его на свои файлы VSS и посмотрите, как легко двум программистам GASP работать над разными частями одного и того же файла в одно и то же время, а затем заставить программное обеспечение разумно объединить ваши изменения ... SCM инструменты должны быть больше, чем просто резервное копирование источника.


0

Мои взгляды на VSS? Использовал его в течение долгого времени регулярно (все еще иногда используется для старых компонентов), но для нашей команды это уже XX век:

  • Очень ненадежный
  • Неиспользуемые ветки
  • Очень плохая поддержка версий, у вас есть ярлыки, но (как и ветви) не очень пригодны для использования

Я согласен со всем вышеперечисленным: выберите один из лучших альтернатив с открытым исходным кодом (даже старый CVS) или, если у вашей компании есть какая-то подписка MSDN, TFS .


0
  • его блокировка по умолчанию замедляла разработчиков, и никто не хотел возиться с его настройкой
  • он не очень хорошо интегрируется с другими сервисами, например, веб-приложением для управления проектами
  • это не собиралось хорошо работать с нашим запланированным сервером CI

Новый материал Team Foundation 2010 года должен был сильно помочь и попытаться уйти от плохих частей VSS. Но по своей сути он все еще опирается на VSS , поэтому мы перешли на SVN.

редактировать - я понимаю, что TFS - это все новое, но при тестировании многие разработчики, которых я спрашивал, испытывали очень похожие чувства. Причина, по которой я сказал «по своей сути», заключалась в том, что я помню, как просматривал файлы, созданные TFS в моем решении, которые выглядели так же, как те, что были созданы в VSS. Это с точки зрения разработчика, может быть, даже не зная о технологии, стоящей за VSS или TFS или любой другой SCM. Извините за путаницу.


Какая!?!? TFS нигде не полагается на VSS
BlackICE

TFS был переписан с нуля ... никак не зависит от VSS.
LeWoody

2
Visual Studio использует один и тот же API плагинов SCC для TFS и VSS. Этот API поддерживает VSS и обладает чувством VSS, поэтому при переходе с VSS на любой другой сервер управления исходным кодом будет ощущаться, что призрак VSS все еще существует.
MatthewMartin

1
@LWoodyiii: Тогда как они в итоге дважды закодировали такую ​​дымящуюся кучу дерьма? Должно быть, они хотя бы читали комментарии в исходном коде VSS.
Роберт С Чаччо

1
@CraigTP: большинству разработчиков совершенно не нужны вещи в TFS. Это просто шум, который делает их работу тяжелее. Если руководителям и руководителям требуется вся эта функциональность, они должны отделяться от программного обеспечения, которое разработчик должен использовать для продуктивной работы.
Роберт С. Чаччо

0

В тот день я был обременен SCCS под XENIX. VSS в Visual Studio 6 при всех его ошибках и проблемах имел явные преимущества. Я все еще использую его для небольших проектов и больше не использую SCCS в любой версии.


0

Я не могу понять, почему все хотят ругать VSS. VSS не распространяется, а распределенный контроль версий

  1. лучше
  2. позволяет на практике распространять контроль версий

Пожалуйста, прочитайте это .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.