Cvs Vs Source Safe
 
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern

ConcurrentVersionsSystem versus SourceSafe
Diskussion

"SourceSafe ist ein kommerzieller Windowsklon von CVS."

"SourceSafe" ist der Windowsklon von CVS - Ich würde sage, die beiden haben in etwa soviel gemeinsam wie ein Cola-Automat und der Kühlschrank einer WG... ;-) -- IljaPreuß

Genau, Ilja! Siehe die Unterschiede, die ich auf der Seite SourceSafe dargestellt habe. -- mb

Details bitte. Ich habe nur vier Monate mit SourceSafe gearbeitet, kann daher nichts über seine Stabilität sagen, aber von der Funktionalität habe ich (bis auf den graphischen Konfliktmerger (der eh nur in der Hälfte der Fälle ausreicht)) keine groben Unterschiede feststellen können. --ds

Mag sein, dass meine Wahrnehmung leicht verfälscht ist durch die eher rudimentäre Anbindung an VisualAgeForJava. Mein Eindruck war jedenfalls, dass das konkurrente Arbeiten an Resourcen von SourceSafe eher stiefmütterlich behandelt wird (jedenfalls ist es nicht die DefaultEinstellung?), während in CVS das Locking eher unausgereift zu sein scheint.

Der größere Unterschied besteht aber möglicherweise in der Administration; so ist es z.B. bei CVS recht problemlos möglich, direkt im Repository "herumzupfuschen".

Vielleicht ist ja aber der Unterschied zwischen einem Cola-Automaten und einem Kühlschrank auch gar nicht so groß... ;-) -- ip

... konkurrente Arbeiten an Resourcen von SourceSafe eher stiefmütterlich ...: Kann ich nicht beurteilen. In den beiden Projekten wo ich es einsetzte, konnte ich deswegen (außer dem "interessanten" Merger) keine Probleme feststellen. Platform war VisualStudio? 6.0

... in CVS das Locking eher unausgereift zu sein scheint ...: da das "Standardmodell" in CVS vorsieht, daß alle gleichzeitig alles machen können, ist das kein Schwerpunkt. Ich glaube nicht, daß es Projekte gibt die CVS locking einsetzen.

Ich kenne eines, in dem es für einzelne Dateien verwendet wird. Scheint mir aber eher Probleme zu bereiten... -- ip
Locking ist immer dann notwendig, wenns keine vernünftigen Diff und Merge Tools für das verwendete Dateiformat gibt. -- MichaelJerger

Ein nicht unbedeutender Unterschied scheint mir darin zu liegen, dass SourceSafe beim Check-In ein automatisches Merge macht, während man bei CVS vorsichtshalber vor dem Checkin/Commit ein Update machen sollte, weil sonst das Commit evtl. einfach mit Fehlermeldung abbricht. Dabei besteht außerdem die (praktisch vielleicht nicht so bedeutende) Gefahr, dass nach dem Update und vor dem anschließenden Commit doch noch ein anderer Benutzer Commit macht und ich dann trotz Update wiederum beim Commit hereinfalle. Bei SourceSafe ist das also etwas sauberer gelöst. --KlausGünther.

Sauber würde ich sowas nicht nennen ... bei CVS passiert der Merge lokal, bei SourceSafe im Repository. Mir isses lieber, wenn ich Konflikte in meiner lokalen Version beheben kann und danach eine funktionierende Version ins Repository schieben kann. Bei einer zu hohe Änderungensrate wünscht man sich allerdings wirklich, das gesamte CVS-Repository ohne Rundmails locken zu können (vielleicht geht das ja sogar, und ich weiss noch nichts davon). -- mj

Bei SourceSafe in seiner Default-Einstellung ist das Auschecken nur einmal möglich, die Ressource ist dann gegen weiteres Auschecken gelockt. Ein Merge beim Einchecken findet daher überhaupt nicht statt (braucht auch nicht, denn die Ressource war ja exklusiv belegt). Mit dem Einchecken wird die Ressource wieder frei und kann (auch von jemand anders) wieder ausgecheckt werden. Mehrfaches Auschecken kann man zwar auch machen, man muss dazu aber die Default-Einstellungen ändern. Was dabei herauskommt, habe ich allerdings noch nie ausprobiert. -- MatthiasBohlen

Ich schon, leider ging dabei das Repository kaputt ... bei CVS kann man in so einem Fall wenigstens noch von Hand reparieren -- mj

Erläuternd sollte ich vielleicht hinzufügen: Wir haben bisher seit etwa einem Jahr mit CVS auf einem OpenSource-Server (BerliOS) gearbeitet. Wegen wiederholter Verfügbarkeits- und Performance-Probleme haben wir vor kurzem SourceSafe auf unserem häuslichen LAN installiert. Von CVS her waren wir an das Multiple-Checkout gewöhnt und haben das daher auch auf SourceSafe aktiviert, bisher ohne Probleme. Problematisch, weil von der Komplexität der Situation her etwas unübersichtlich, wird es u.U., wenn der gleiche Benutzer die gleichen Files an verschiedenen Orten mehrfach ausgecheckt hat.

Die Konflikt-Meldung und -Bereinigung passiert auch beim Check-In auf der Client-Seite (mit einem sehr komfortablen Grafik-Tool), bevor man die bereinigte Version tatsächlich einchecken kann. Das empfinde ich nicht als problematisch.

Das Multiple-Checkout mit Konflikt-Kontrolle und automatischem Merge, das ja bei CVS der Normalfall ist, finde ich bei enger Zusammenarbeit der Entwickler, die dann ja auch öfter mal an den gleichen Quellen herumfummeln, gerade besonders attraktiv. Das war ein wesentlicher Grund, weshalb wir seinerzeit von manueller Koordination auf CVS umgestiegen sind. -- KlausGünther


Der Unterschied zwischen CVS und SourceSafe bei Auschecken: CVS checkt man im Allgemeinen den ganzen Baum aus und läßt den Merge automatisch machen, bei SourceSafe hingegen nur die Files, die man tatsächlich bearbeitet.

Dies ist aber IMHO eine Geschmacks- / Gewöhnungsfrage. Um zu jeder Datei einzeln kommentieren zu können, was ich denn nun verändert hab, führe ich auch commit's einzeln aus.

StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 5. Januar 2004 14:18 (diff))
Suchbegriff: gesucht wird
im Titel
im Text