Ist SourceSafe wirklich sicher?

27

Nachdem ich den ganzen Morgen damit verbracht hatte, etwas einzuchecken, wurde mir klar, dass ich ein paar Arbeitstage verloren habe.

Das ist schon mal passiert - und ist anscheinend bei SourceSafe weit verbreitet. Kann SourceSafe ohne Probleme erfolgreich verwendet werden und wenn ja, wie?

billy.bob
quelle
40
Oh lieber Gott NEIN ... niemals wieder!
Tim Post
27
Ich habe lange und hart gekämpft, um SourceSafe aus meiner Firma zu bekommen. Letztendlich gewonnen und jeder ist zufriedener damit.
Kevin D
13
Jede Organisation, die VSS verwendet, ist ein schlechter "Org-Geruch"
JoelFan
8
Der Satz "Früh und oft einchecken." ist es, solche Situationen zu verhindern. Sie sollten niemals mehr als ein paar Stunden Arbeit verlieren. Iron Maiden sagte jedoch das Beste über VSS: "Lauf in die Berge! Lauf um dein Leben!"
Ryan Hayes
3
Microsoft verwendet es nicht. Warum sollten wir?
greyfade

Antworten:

45

Meine Ansicht ist einfach, migrieren Sie so schnell wie möglich zu etwas anderem. Es wird nicht lange dauern (1-2 Wochen WAG) und egal wie lange die Migration dauert, es ist einfach, dies für das Management zu rechtfertigen. Eine kurze Migrationszeit bedeutet eine solide Quellcodeverwaltung und eine sehr geringe Wahrscheinlichkeit, dass Quellcode verloren geht. Führen Sie eine schnelle Google-Suche nach "Source Safe Horror Stories" oder ähnlichem durch, wenn Ihr Chef skeptisch ist.

DevSolo
quelle
Es stimmt, aber manchmal ist es nicht einfach, es einer nicht-technischen Person zu rechtfertigen, die 1-2 Wochen damit verbringt, die Quellcodeverwaltung zu migrieren.
t3mujin
2
@ t3mujin, siehe die Diskussion über "technische Schulden" programmers.stackexchange.com/questions/18059/…
Nemi
SourceSafe ist eine aktive und kontinuierliche Verpflichtung zu Ihrer kurzfristigen und langfristigen Produktivität. Es kann leicht durch eine beliebige Anzahl moderner, sicherer und verteilter Versionskontrollsysteme ersetzt werden. Recherchieren Sie mit Google nach SourceSafe-Horrorgeschichten sowie nach professioneller Anleitung. MACHEN SIE IHREN FALL STARK. Mach was immer dafür nötig ist.
Adam Crossland
3
@ t3mujin: Projekt für Projekt migrieren. Wo ich arbeite, haben wir SourceSafe verwendet, jetzt verwenden wir TFS. Das Migrieren von allem (Hunderte von Projekten) wäre mühsam gewesen. Wenn wir also an einem alten Projekt arbeiten müssen, das sich noch in SourceSafe befindet, verbringen wir zunächst etwas Zeit damit, es zu migrieren, und beginnen dann mit der Arbeit.
Carson63000
@ Carson63000 Wir verwenden TFS für die meisten aktuellen Projekte, aber es gibt eine große Quellbasis mit wenigen, aber gelegentlichen Aktualisierungen von VSS, die niemand bereit ist, die Migration zu TFS zu bezahlen. Ich gehöre nicht zu dem Team, das es öfter benutzt, also kann ich ab und zu ein paar Codezeilen verwenden
t3mujin
33

Am schlimmsten. SCM. Je.

Alles, was in SCM falsch ist, ist in VSS enthalten. Sogar StarTeam ist besser als Source Safe. Source Safe ist der Internet Explorer 1 der Welt der Versionskontrolle, der von keiner anderen Implementierung abgelöst wird.

Wie habe ich es benutzt?

Mein typischer Workflow, um Dinge zu erledigen, war

  1. Überprüfen Sie das Projekt
  2. Sperren Sie alle Dateien (um zu vermeiden, dass sie mit anderen zusammengeführt werden, die die unheiligen Tore der Hölle geöffnet haben).
  3. Hat meine Arbeit gemacht
  4. Jeder Tag überprüfte meine Änderungen in
  5. Überprüfte alles noch einmal und behebte alle Probleme mit der Integration
  6. Habe es wieder eingecheckt

Im Vergleich zu Subversion ist das oben Genannte lächerlich (abgesehen davon, dass Sie überprüft haben, dass Sie den Build nicht gebrochen haben).

Einschränkungen der Programmierpraktiken meines Teams

Dies sind die Regeln, nach denen das Team arbeiten musste, damit es für uns funktioniert. Ihr Kilometerstand kann variieren.

  1. Eine Datei darf nur von einer Person bearbeitet werden (Himmel hilft Ihnen, wenn sie in den Urlaub fahren)
  2. Verzweigen Sie nicht, es ist zu schwer zu verwalten
  3. Versuchen Sie niemals, zu einer früheren Revision zurückzukehren

Was kann getan werden?

Polarion verfügt über eine Reihe guter Tools für die Migration von Source Safe nach Subversion (SVN), dem aktuellen De-facto-Standard für Open Source-Versionskontrolle in den meisten Unternehmen. Subversion leidet unter der Anforderung, dass ein Server verfügbar sein muss, um das Einchecken zu ermöglichen (im Gegensatz zu GIT oder Mercurial, die für verteilte Offline-Teams entwickelt wurden).

Gary Rowe
quelle
@ David mich nicht auf den Versuch, Dateiversionshistorien oder Verzweigungen zu bekommen (ich weine, während ich schreibe - so viele verschwendete Stunden meines Lebens ...)
Gary Rowe
2
Ja, Verzweigen und Zusammenführen machen in einem guten SCM keinen großen Spaß. Ich glaube nicht, dass der Kongress es Ihnen erlauben würde, Leute dazu zu bringen, dies in sourcesafe zu tun.
BlackICE
2
Nie zu einer früheren Version zurückkehren? Warum nicht? Und wenn ja, wozu dient ein SCM-Tool insgesamt?
JoelFan
Damals, als ich in einem Geschäft war, in dem VSS verwendet wurde, hatten wir nie Probleme, zu einer alten Version zurückzukehren. Das scheint ein bisschen extrem. Ich bin mit dir am Verzweigen.
JohnFx
@JohnFx @SpashHit Unser Team hatte eine sehr geringe Schmerztoleranz, also bin ich vielleicht etwas übertrieben. Als Subversion kam, war es, als ob ein mächtiges Gewicht angehoben worden wäre.
Gary Rowe
15

Ändere deine Quellcodeverwaltung auf SVN / Mercurial / Git und schaue niemals zurück!

Amir Rezaei
quelle
3
Es ist "Mercurial", nicht "Mercury" (nur ein paar Nissen hier, keine Beleidigung)
Jürgen A. Erhard
@jae Reparierte das für Sie :-)
Gary Rowe
11

Wir haben es vor etwa einem Jahr außer Betrieb genommen.

Es passierte mehrmals, dass das, was ich am Vorabend eingecheckt hatte, am nächsten Morgen einfach nicht da war. Ich fand das nicht amüsant, weil es verdächtig aussah, als hätte ich meine Arbeit einfach nicht beendet. Da ich neu in der Firma war, war es für mich möglicherweise gefährlich.

Wir sind zum TFS gewechselt und es funktioniert seitdem reibungslos.

user8685
quelle
1
+1 für die Herausnahme. Du hast das Richtige getan.
Gary Rowe
1
TFS ist eine schöne, schöne Sache. Wenn Sie den Teig haben, den Sie dafür bezahlen müssen, dann.
Adam Crossland
2
@Adam Crossland: Schön wie ein großer Diamant und ungefähr zum gleichen Preis.
Orbling
1
@Orbling: gut gesagt.
Adam Crossland
1
Für diejenigen, die die Abkürzung nicht erkennen, ist TFS der Team Foundation Server von Microsoft .
Keith Thompson
9

Meine Sicht?

Es gibt bessere, die einfacher zu verwenden, sicherer zu verwenden und völlig kostenlos sind. Warum sollte man es überhaupt benutzen?

Dies ist ein Entwicklungsbereich, in dem wir eine große Auswahl haben. die meisten oder alle besser als VSS.

Steven Evers
quelle
"most" ist ein bisschen beunruhigend ... oder anders ausgedrückt: Was ist schlimmer als VSS?
Jürgen A. Erhard
@jae: Must ist nur ein Qualifikationsmerkmal, das angibt, dass ich nicht alle verwendet habe und daher ihre Qualität in Bezug auf VSS nicht überprüfen kann. daher "oder alle"
Steven Evers
9

Die Verwendung von SourceSafe in einem kommerziellen Betrieb ist wie das Heizen des Gebäudes durch Verbrennen von Dollarnoten.

Im Jahr 2000 verlor mein Unternehmen mit acht Entwicklern wahrscheinlich 5-10% seiner Produktivität, weil VSS-Datenbanken durchschnittlich zweimal täglich beschädigt wurden. Es war nur so niedrig, weil wir stündliche Backups durchgeführt hatten.

Seitdem ich von VSS zu Perforce, svn und git gewechselt bin, ist noch nie eine SCM-Datenbank beschädigt worden.

Bob Murphy
quelle
7

Ich kann auf diese runter zur Hölle gewählt bekommen, aber ..

Alt-Text

VSS bringt Sie effektiv auf Trab, insofern, als Sie keinerlei Realität in Einklang bringen können, die erforderlich ist, um zu erkennen, dass Ihr jetzt gegabeltes Repo nicht Ihre Schuld war.

Bitte, benutze es niemals.

Tim Post
quelle
Es ist unwahrscheinlich, dass Sie abgewählt werden. Mein einziger Kritikpunkt ist, dass Cyanid offensichtlich das Medikament der Wahl für den gewöhnlichen VSS-Benutzer ist.
Orbling
7

Ich habe es jahrelang benutzt - es war die Standardlösung, da es bereits da war. Hatte mich schon einige Male gebissen, aber Trägheit ist schwer zu überwinden

dann musste ich es über VPN aus der Ferne verwenden, und selbst kleinere Eincheckvorgänge waren so, als würde man einen Ziegelstein durch ein Loch stopfen . Es war schneller, die geänderten Dateien manuell zu finden, sie zu komprimieren, per E-Mail zu versenden, auf dem Quell-Vault-Computer zu speichern, zu entpacken und den Code vom Quell-Vault-Computer einzuchecken.

Auf Mercurial umgestellt. Ich kann die gesamte Quellcodebasis in weniger als einer Minute über das VPN klonen. Und ich fürchte mich nicht mehr vor Verzweigungen.

Ich gehe nie zurück.

Steven A. Lowe
quelle
Source Offsite war dafür. Daran kann ich mich auch gut erinnern. Ich habe tatsächlich meine eigene Kopie der Quelle außerhalb des Standorts gekauft, damit ich VSS nicht über das VPN ausführen musste
BlackICE
+1 für "Ich fürchte mich nicht mehr zu verzweigen" das Zeichen eines reifen SCM
Gary Rowe
5

Es ist ein Gräuel. Aber immer noch besser als nichts.

BlackICE
quelle
12
Bei all den Alternativen ist die Verwendung schwer zu rechtfertigen, denn wenn es nach Süden geht, haben Sie Folgendes: Nichts.
DevSolo
13
Wie kann es besser sein als nichts, wenn Sie dadurch Arbeit verlieren?
billy.bob
4
Sie können auch die Arbeit mit nichts verlieren, sourcesafe kann Sie zumindest manchmal retten .
BlackICE
4
@David - das können auch vernünftige Backups sein, bevor Sie etwas tun, das möglicherweise "icky" ist. Das einzige, was VSS im Misserfolg Konkurrenz macht, ist MS BOB. VSS ist so schrecklich, dass eine Wohltätigkeitsorganisation gegründet werden sollte, die Menschen davon abhält, es zu benutzen.
Tim Post
9
Nein, es ist schlimmer als nichts. Denn wenn Sie AUCH keine Backups haben, haben Sie ein falsches Sicherheitsgefühl und können ALLES verlieren
CaffGeek
5

Ich habe es für eine lange Zeit (fast 10 Jahre) verwendet, ohne jemals persönlich Probleme zu haben (auch in den Teams, in denen ich gearbeitet habe, obwohl unser Code in der Regel ziemlich gut aufgeteilt war, um Konflikte und ähnliches zu vermeiden).

Es gibt jedoch viel zu viele Berichte über Datenverluste, um sie weiterhin nutzen zu können, wenn es vernünftige, zuverlässige Open-Source-Alternativen gibt.

Bearbeiten: Aus den Kommentaren geht hervor, dass die Nachricht alles Komplexe zu vermeiden scheint (Verzweigen, Zusammenführen, Konflikte), und Ihnen geht es wahrscheinlich gut. Alles andere und Sie betreten riskantes Terrain.

Jon Hopkins
quelle
Haben Sie in einem Team oder an Einzelprojekten innerhalb einer Gesamtcodebasis gearbeitet?
Gary Rowe
Innerhalb eines Teams war die Codebasis jedoch relativ gut aufgeteilt, was die Arbeit an was anging, so dass es selten zu Konflikten gekommen wäre.
Jon Hopkins
@ Jon Das ist ein langer Weg, um den störungsfreien Betrieb zu erklären.
Gary Rowe
1
FWIW meine Erfahrung ist ähnlich wie bei Jon. 7 Jahre, 8-köpfiges Team, keine Probleme mit VSS. Anscheinend sind wir in der (glücklichen) Minderheit. Ich würde es nie wieder verwenden, basierend auf all den Geschichten (mit SVN jetzt).
Steve Fallows
1
Wenn das Verzweigen, Zusammenführen und Lösen von Konflikten als komplexe Vorgänge betrachtet werden, verwenden Sie wahrscheinlich das falsche Versionskontrollsystem ...
James
5

Sogar MS lehnen es zugunsten von TFS ab.

Für ein Solo oder einen wirklich kleinen Laden, der in Visual Studio 6 oder etwas älter arbeitet, ist es passabel und besser als nichts. Ich denke, es gibt eine Menge Übertreibung darüber, wie schlimm es war, aber dann ist es nur ein einziges Mal erforderlich, wertvolle Arbeit zu verlieren, um Sie an einem Produkt zu säuern (aus gutem Grund). VSS hatte seinen Platz, und ich begrüße es, dass es zumindest viele Entwickler ermutigte, die überhaupt kein SCM-Tool verwendeten, um sich an die Gewohnheit zu gewöhnen, aber wie viele Technologien ist es mittlerweile ziemlich veraltet.

JohnFx
quelle
Es ist kein Argument, die Leute dazu zu bringen, SCM zu verwenden. Aber ... VSS? Schlechte Erfahrungen können einem Produkt nicht nur einen schlechten Namen geben, sie können einer ganzen Kategorie einen schlechten Namen geben. Oder: Wie viele Entwickler starten SCM mit VSS und dachten dann, "Wow, dieses SCM-Zeug ist so schlimm, wie ich erwartet hatte", als VSS versagt hat? Ganz zu schweigen davon, dass SCM eine äußerst kritische Infrastruktur ist, was bedeutet: Bugs nicht erlaubt (ja, ich weiß ...)
Jürgen A. Erhard
@jae das war nicht meine Erfahrung. VSS war meine erste Begegnung mit SCM und ich habe nie zurückgeschaut. Ich habe JAHRE lang keinen Datenverlust, keine Beschädigung oder irgendwelche Probleme bei der Verwendung festgestellt. Irgendwann bin ich weitergezogen, aber ich glaube, ich hätte länger gebraucht, um ein Tool zu integrieren, wenn es früher nicht mit Visual Studio vorinstalliert worden wäre.
JohnFx
3

Nachdem ich es 3 Jahre lang verwendet habe und mich wegen all der fortschrittlicheren / rationaleren Alternativen bei meinem Manager immer wieder beschwert habe, hatte ich nie wirklich ein Problem mit VSS, aber ich hatte auch nie eine Option.

Meine Meinung ist, dass es sowohl saugt als auch bläst.

Das nervigste daran ist nicht die schreckliche Versionierung und die verwirrende Verzweigungsfähigkeit, aber das Listenfeld im Dateimenü lässt Sie nicht die rechte Pfeiltaste zum Erweitern drücken.

Wirklich schmerzhaft.

Peter Turner
quelle
3

Meine Sicht auf VSS? Ich lehnte einige Stellenangebote ab (sehr gut bezahlt), weil sie "VSS-Kenntnisse" verlangten. Und ich bin sicher, es gibt ein paar andere Leute, die dasselbe getan haben.

Jas
quelle
1
+1 „VSS Kenntnisse“ auf einer Stellenanzeige setzen ist ein sicheres Zeichen , dass nicht nur die Verwendung VSS Unternehmen, sondern dass sie eine Einrichtung haben , wo VSS ist bereits so beschädigt und problematisch , dass es erfordert eine echte VSS Erfahrung , damit es funktioniert bei alle .
Carson63000
1

Sie leiden nicht nur unter dem Problem einer möglichen Quellenbeschädigung (die für das Management als Argument ausreichend sein sollte, um sie zu ersetzen), sondern Sie müssen auch mit umständlichen Backups und der Unfähigkeit leben, in verschiedenen Arbeitsströmen effektiv als Team zu arbeiten.

Suchen Sie einen anderen SCM (einen anderen) und schauen Sie sich an, wie einfach das Verzweigen und Zusammenführen sein kann. Denken Sie an die Zeiten, in denen Sie Dateien aus Ihrer VSS-Lösung kopieren und an einem anderen Ort aufbewahren mussten, während Sie einen Fehler im Produktionscode behoben haben.

Installieren Sie für Kicks einfach GIT - zeigen Sie auf Ihre VSS-Dateien und sehen Sie, wie einfach es für GASP zwei Programmierern ist, gleichzeitig an verschiedenen Teilen derselben Datei zu arbeiten, und lassen Sie dann die Software Ihre Änderungen intelligent zusammenführen ... SCM Tools sollten mehr sein als nur Quell-Backup.

Paddy
quelle
0

Meine Ansichten zu VSS? Ich habe es für eine lange Zeit regelmäßig verwendet (immer noch gelegentlich für ältere Komponenten verwendet), aber es ist zu XX Jahrhundert für unser Team:

  • Sehr unzuverlässig
  • Nicht verwendbare Zweige
  • Sehr schlechte Versionierungsunterstützung, Sie haben Labels, sind aber (genau wie Zweige) nicht wirklich verwendbar

Ich bin mit all dem oben Genannten einverstanden: Wählen Sie eine der besseren Open-Source-Alternativen (auch alte CVS) oder, wenn Ihr Unternehmen eine Art MSDN-Abonnement hat, TFS .

t3mujin
quelle
0
  • Die Standardverriegelung verlangsamte die Entwicklung, und niemand wollte sich mit der Einrichtung herumschlagen
  • Es lässt sich nicht sehr gut in andere Dienste integrieren, zum Beispiel in eine Projektmanagement-Webanwendung
  • Mit unserem geplanten CI-Server würde es nicht gut funktionieren

Das neue 2010 Team Foundation-Zeug sollte viel helfen und versuchen, den schlechten Teilen von VSS zu entkommen. Im Kern ist es jedoch immer noch auf VSS angewiesen , weshalb wir zu SVN gewechselt sind.

edit - Ich verstehe, dass TFS alles neu ist, aber als ich es testete, hatten mehrere Entwickler, die ich gefragt habe, sehr ähnliche Gefühle. Der Grund, warum ich "im Kern" sagte, war, dass ich mich daran erinnere, dass ich mir die Dateien angesehen habe, die TFS in meiner Lösung erstellt hat und die genauso aussahen wie die von VSS erstellten. Dies ist vom Standpunkt eines Entwicklers aus gesehen, der vielleicht nicht einmal etwas über die Technologie hinter VSS, TFS oder einem anderen SCM weiß. Entschuldigung für die Verwirrung.

jmlumpkin
quelle
Was!?!? TFS verlässt sich nirgendwo auf VSS
BlackICE
TFS wurde von Grund auf neu geschrieben ... ist in keiner Weise auf VSS angewiesen.
LeWoody
2
Visual Studio verwendet dieselbe SCC-Plug-in-API für TFS und VSS. Diese API unterstützt VSS und hat ein VSS-Feeling. Wenn Sie also von VSS zu einem anderen Server für die Quellcodeverwaltung wechseln , hat dies den Eindruck, dass der Geist von VSS noch vorhanden ist.
MatthewMartin
1
@LWoodyiii: Wie sind sie dann dazu gekommen, einen so dampfenden Haufen Mist zweimal zu codieren? Sie müssen mindestens die Kommentare im VSS-Quellcode gelesen haben.
Robert S Ciaccio
1
@CraigTP: Die meisten Entwickler brauchen das Zeug in TFS überhaupt nicht. Es ist nur Lärm, der ihre Arbeit schwerer macht. Wenn PMs und Leads all diese Funktionen benötigen, sollten sie sich von der Software trennen, die ein Entwickler verwenden muss, um produktiv zu sein.
Robert S Ciaccio
0

Damals war ich mit SCCS unter XENIX beschäftigt. In Visual Studio 6 hatte VSS bei allen Fehlern und Problemen deutliche Vorteile. Ich benutze es immer noch für kleine Projekte und verwende SCCS in keiner Version mehr.

Dave
quelle
0

Ich kann nicht verstehen, warum alle VSS schlecht reden wollen. VSS ist nicht verteilt, und die verteilte Versionskontrolle ist

  1. besser
  2. ermöglicht in der Praxis eine nicht verteilte Versionskontrolle

Bitte lesen Sie dies .

Dan Rosenstark
quelle