Чи SourceSafe справді безпечний?


27

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

Це сталося раніше - і, мабуть, часто зустрічається з SourceSafe. Чи можна SourceSafe успішно використовувати без проблем, і якщо так, то як?


40
О Боже мій НІ ... ніколи, ніколи!
Тім Пост

27
Я довго і важко боровся, щоб вивести SourceSafe з моєї компанії. Врешті виграв і всі щасливіші за це.
Кевін Д

13
Будь-яка організація, яка використовує VSS, має поганий "запах
органу

8
Фраза «Перевірка рано і часто». полягає у запобіганні подібних ситуацій. Ніколи не слід втрачати більше ніж кілька годин роботи. Однак Iron Maiden сказала це найкраще про VSS: "Бігайте до пагорбів! Біжіть за своє життя!"
Райан Хейс

3
Microsoft не використовує його. Чому ми повинні?
greyfade

Відповіді:


45

Мій погляд простий, перейти на щось інше якнайшвидше. Це не займе багато часу (1-2 тижні WAG), і незалежно від того, скільки часу триватиме міграція, обґрунтувати це керівництвом легко. Трохи часу для міграції прирівнюється до контролю твердого джерела та дуже мало шансів втратити вихідний код. Швидко пошукайте Google за "джерелами страхіття, безпечними для джерел" чи подібними, якщо ваш начальник скептично налаштований.


Щоправда, але іноді це не просто виправдати для нетехнічної особи, яка витрачає 1-2 тижні на міграцію джерела контролю.
t3mujin

2
@ t3mujin, дивіться дискусію про "технічну заборгованість" програмістів.stackexchange.com/
Nemi

SourceSafe - це активна та тривала відповідальність за вашу короткострокову та довгострокову продуктивність. Його можна легко замінити будь-якою кількістю сучасних, безпечних і розподілених систем управління версіями. Проведіть деякі дослідження з Google щодо страшилок SourceSafe, а також професійні поради. Зробіть свій випадок сильно. Робіть все, що потрібно.
Адам Кросленд

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

@ Carson63000 Ми використовуємо TFS для більшості поточних проектів, але є велика база джерел з кількома, але епізодичними оновленнями VSS, що ніхто не готовий платити за міграцію до TFS. Я не в команді, яка використовує її частіше, тому я добре з декількома рядками коду час від часу
t3mujin

33

Найгірше. СКМ. Колись.

Все, що в 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, які призначені для розподілених офлайн-команд).


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

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

2
Ніколи не повернутися до попередньої версії? Чому ні? І якщо так, то яка вся мета використання інструменту SCM?
JoelFan

Ще в той час, коли я був у магазині, який використовував VSS, у нас ніколи не було проблем, повертаючись до старої версії. Це здається трохи екстремальним. Хоча я з тобою на розгалуженні.
JohnFx

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


11

Ми вивели його з експлуатації близько року тому.

Кілька разів траплялося, що те, що я зареєструвалась в попередній вечір, просто не було наступного ранку. Я не вважав це кумедним, бо це виглядало підозріло, ніби я просто не закінчив свою роботу. Оскільки я був новим у компанії, то, можливо, це було для мене небезпечно.

Ми з ними перейшли до TFS і з тих пір він працює безперебійно.


1
+1 за виведення його з операції. Ви зробили правильно.
Гері Роу

1
TFS - прекрасна, красива річ. Якщо у вас є тісто, щоб заплатити за нього, тобто.
Адам Кросленд

2
@Adam Crossland: Гарний, як великий діамант, і приблизно однакова ціна.
Увімкнення

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

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

9

Мій погляд?

Є кращі, які простіші у використанні, безпечніші у користуванні та абсолютно безкоштовні. Навіщо взагалі турбуватися його використанням?

Це одна сфера розвитку, де у нас є великий вибір; більшість, або всі, краще, ніж VSS.


"Більшість" - це трохи неприємне враження ... або кажучи іншим способом: що гірше за VSS?
Юрген А. Ерхард

@jae: Потрібно просто класифікатор, який вказує, що я не використовував їх усіх, і тому не можу перевірити їх якість щодо VSS; звідси "або все"
Стівен Еверс

9

Використовувати SourceSafe у комерційній операції - це як обігрів будівлі за допомогою спалювання доларових купюр.

У 2000 р. Моя восьмирічна компанія-розробник, ймовірно, втратила 5-10% своєї продуктивності через пошкодження баз даних VSS в середньому двічі на день. Це було лише таким низьким рівнем, тому що ми перейшли до погодинного резервного копіювання.

З моменту відходу від VSS до Perforce, svn та git, у мене ніколи не було пошкоджено базу даних SCM.


7

Я можу зголоситися на пеклі з цього приводу, але ..

alt текст

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

Будь ласка, не використовуйте його ніколи.


Ви навряд чи будете проголосовані. Моя єдина критика полягає в тому, що ціанід, очевидно, є препаратом вибору для звичного користувача VSS.
Увімкнення

7

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

тоді мені довелося використовувати його віддалено через VPN, і навіть незначні реєстрації були схожі на набивання цегли через щілину . Швидше було вручну знайти файли, що змінилися, зашпаркувати їх, надіслати їх електронною поштою, віддалено перейти до вихідної машини з сейфом, розпакувати їх і перевірити код у машині з сховищем джерела.

Переключився на Меркуріал. Я можу клонувати всю базу вихідного коду через VPN протягом менше хвилини. І я більше не боюся розгалуження.

Ніколи не повертаючись назад.


Джерело Offsite було для цього. Я також добре це пам’ятаю. Насправді я придбав власну копію вихідного веб-сайту просто так, що мені не довелося робити VSS через VPN
BlackICE

+1 за "Я більше не боюся розгалуження" знак зрілого СКМ
Гері Роу

5

Це гидота Але все ж краще, ніж нічого.


12
З усіма альтернативами важко виправдати використання, тому що коли йдеш на південь, це те, що ти матимеш: Нічого.
DevSolo

13
Як воно може бути краще, ніж нічого, якщо воно змусить вас втратити роботу?
billy.bob

4
Ви також можете втратити роботу ні з чим, безпечний джерело може хоча б іноді врятувати вас .
BlackICE

4
@David - так можна зробити розумні резервні копії, перш ніж робити щось, що потенційно може бути "вибагливим" Єдине, що суперник VSS у невдачі - це MS BOB. VSS настільки жахливий, що має бути створена благодійна організація в ім'я вилікування людей від її використання.
Tim Post

9
Ні, це гірше, ніж нічого. Тому що якщо у вас також немає резервного копіювання, ви маєте помилкове почуття безпеки і можете втратити ВСЕ
CaffGeek

5

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

Але є занадто багато історій втрати даних, щоб продовжувати користуватися нею, коли є гідні, надійні альтернативи з відкритим кодом.

Редагувати: З коментарів повідомлення, схоже, уникає нічого складного (розгалуження, злиття, конфлікти), і ви, мабуть, добре. Все більше, і ви прямуєте на ризиковану територію.


Ви працювали в команді чи над сольними проектами в загальній кодовій базі?
Гері Роу

Всередині команди, хоча кодова база була відносно добре розділена з точки зору того, хто над тим працював, рідко виникли конфлікти.
Джон Хопкінс

@Jon Це довгий шлях до пояснення безпроблемної роботи.
Гері Роу

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

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

5

Навіть МС знецінює це на користь TFS.

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


Змусити людей почати використовувати SCM - це добре, ніяких аргументів. Але ... VSS? Поганий досвід не може просто дати продукту погану назву, вони можуть дати цілу категорію поганою назвою. Або: скільки чортів запускає SCM з VSS, а потім подумав: "Ого, ця штука SCM така ж погана, як я очікував", коли VSS накрутився? Не кажучи вже про те, що SCM є надзвичайно критичним елементом інфраструктури, тобто: помилки заборонені (так, я знаю ...)
Юрген А. Ерхард

@jae, це не був мій досвід. VSS був моїм першим впливом на СКМ, і я ніколи не оглядався. Я не відчував втрати даних, корупції чи будь-яких проблем протягом РОКІВ під час її використання. Врешті-решт я продовжив свою роботу, але думаю, що мені знадобилося б більше часу, щоб інтегрувати інструмент, якби він не був попередньо встановлений з Visual Studio ще в той день.
JohnFx

3

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

Мої погляди полягають у тому, що це і смокче, і удари.

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

Воістину болісно.


3

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


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.
Robert S Ciaccio

1
@CraigTP: більшість розробників абсолютно не потребують матеріалів у TFS. Саме шум ускладнює їх роботу. Якщо прем'єр-міністри та ведучі хочуть використовувати всю цю функціональність, вони повинні відокремлюватися від програмного забезпечення, яке розробник повинен використовувати для підвищення продуктивності.
Robert S Ciaccio

0

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


0

Я не можу зрозуміти, чому всі хочуть перемогти VSS. VSS не поширюється, а розподілений варіант управління є

  1. краще
  2. дозволяє на практиці нерозподілений контроль версій на практиці

Будь ласка, прочитайте це .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.