Vor- / Nachteile von ClearCase [geschlossen]


68

Da ich derzeit Schwierigkeiten habe, IBM Rational ClearCase zu lernen, würde ich gerne Ihre professionelle Meinung hören.

Ich interessiere mich besonders für Vor- und Nachteile im Vergleich zu anderen Versionskontrollsystemen wie Subversion oder Git.


3
Wie wäre es mit Hardware-Anforderungen? Als ich es das letzte Mal benutzte, brauchte es eine furchterregende Menge an Hardware. Zugegeben, das war 1998 :)
Skaffman

31
Begründung = überkomplizierte Schmerzen im Arsch zwielichtigen Müll.
mP.

46
Wenn Sie erwägen, CC in Ihre Entwicklungsumgebung zu integrieren, kann ich nur einen Ratschlag geben: Nicht.
Dmitri Nesteruk

9
Wenn Sie ein Argument benötigen, um die Leute davon zu überzeugen, "Clearcase" nicht zu verwenden, können Sie sagen, dass alle guten Entwickler es hassen. Ich weiß, ich würde an keinem Ort arbeiten, der Clearcase als Quellcodeverwaltung verwendet. Heck, ich würde gerne den Schmerz von VSS leiden, um Clearcase zu vermeiden.
SolutionYogi

5
Das einzige, was ich noch nicht entschieden habe, ist, ob ClearCase schlechter als RCS ist. Es könnte sein.
Thomas Owens

Antworten:


110

Einen guten Vergleich zwischen ClearCase und Git finden Sie in meiner SO-Antwort:
" Was sind die grundlegenden ClearCase-Konzepte, die jeder Entwickler kennen sollte? ", Die einige wesentliche Unterschiede (und einige Mängel von ClearCase) veranschaulichen.


Dateizentrische Operationen

Das wichtigste Manko von ClearCase ist der alte " dateizentrische " Ansatz (im Gegensatz zu " repository -zentriert " wie in SVN oder Git oder Perforce ...).
Das bedeutet, dass jedes Auschecken oder Einchecken Datei für Datei erfolgt. Die Atomizität des Betriebs liegt auf Dateiebene.
Kombinieren Sie dies mit einem sehr ausführlichen Protokoll und einem Netzwerk mit möglicherweise mehreren Knoten zwischen der Entwickler-Workstation und dem VOB-Server, und Sie können einen ziemlich langsamen und ineffizienten Dateiserver erhalten (der im Kern ClearCase ist).

Datei-für-Datei-Operationen bedeuten: langsame rekursive Operationen (wie rekursives Auschecken oder rekursives "Hinzufügen zur Quellcodeverwaltung" , auch von clearfsimport).
Ein schnelles LAN ist obligatorisch, um die Nebenwirkungen dieses gesprächigen Protokolls zu mildern.

Zentralisiertes VCS

Der andere zu berücksichtigende Aspekt ist der zentralisierte Aspekt (obwohl er mit seiner replizierten VOB-Funktion für mehrere Standorte "verteilt" werden kann).
Wenn das Netzwerk keinen Zugriff auf die VOBs zulässt, können die Entwickler:

  • funktionieren immer noch in Snapshot-Ansichten (jedoch nur mit entführten Dateien)
  • Warten Sie auf die Wiederherstellung des Netzwerks, wenn dynamische Ansichten verwendet werden

Teure verteilte VCS-Option

Sie können eine verteilte VCS-Funktion verwenden, indem Sie einen Vob replizieren.
Aber:

  • Sie benötigen eine spezielle Lizenz, um darauf zugreifen zu können.
  • Diese Lizenz ist teuer und erhöht die Kosten der regulären Lizenz
  • Jeder vob, der den replizierten vob verwendet (admin vob, admin pvob, ...), muss ebenfalls repliziert werden (dh einige Projekte, die nicht direkt mit einer verteilten Entwicklung befasst sind, müssen weiterhin eine Lizenz für mehrere Standorte zahlen ...)

Alte und nicht benutzerfreundliche GUI

  • Die GUI ist sehr altmodisch und unpraktisch (MFC-Look Mitte der 90er Jahre, vollständig synchrone GUI, dh Sie müssen auf eine Aktualisierung warten, bevor Sie auf eine andere Stelle klicken): Wenn Sie Baselines durchsuchen, können Sie nicht schnell nach einer bestimmten suchen.
  • Die GUI unter Unix ist nicht genau die gleiche wie unter Windows (die neueste Version 7.1 ist besser, aber noch nicht da).
  • Der Installationsprozess ist ziemlich kompliziert (obwohl der neueste von CC7.1 eingeführte Installer Manager jetzt eine kohärente GUI unter Windows oder Unix ist und das Verfahren vereinfacht).
  • Die einzige wirklich umfangreiche Anwendung wurde nur für CCRC (den Remote-Client) entwickelt.

UCM-Inkonsistenzen und in Kohärenz

Wie unter " So nutzen Sie die Funktionen von ClearCase " erwähnt, sind dynamische Ansichten großartig (eine Möglichkeit, Daten über das Netzwerk anzuzeigen, ohne sie auf die Festplatte kopieren zu müssen), aber die Hauptfunktion bleibt UCM : Sie kann eine echte Bereicherung sein, wenn Sie dies haben großes Projekt mit komplexem Workflow.

Einige Mängel an dieser Front:

  • Die Abhängigkeiten zwischen Komponenten werden für eine Tiefe, die einer überlegen ist, nicht gut verwaltet (aufgrund des Fehlers der " Parasiten-Grundlinie ").
  • UCM weist immer noch einige Kohärenzen und Inkonsistenzen auf, wie in CM Crossroads dokumentiert

Eingeschränkte Richtlinien mit Base ClearCase

Wenn Sie ClearCase ohne UCM verwenden, müssen Sie eine Richtlinie definieren, um:

  • Zweig erstellen (andernfalls kann jeder einen Zweig erstellen, und Sie erhalten ein Gazillon davon mit einem Alptraum für den Merge-Workflow)
  • setzen Etiketten (sonst vergessen Sie einige Dateien zu markieren, oder Sie ein Label setzen , wo Sie nicht sollten, oder Sie „bewegen“ (Keuchen) ein Etikett von einer Version auf eine andere: mindestens UCM Basislinien können nicht verschoben werden)
  • Änderungssatz definieren . ChangeSets existieren nur bei UCM-Aktivitäten. Mit Base ClearCase werden Sie auf clevere " cleartool find" Anfragen reduziert ...

Keine Bewerbungsrechte

Die ClearCase-Rechteverwaltung basiert vollständig auf Systemrechten.
Das bedeutet, dass Sie Ihren Benutzer bei der richtigen Systemgruppe registrieren müssen. Dies ist nicht immer einfach, wenn Sie ein Ticket für Ihren IT-Service eingeben müssen, damit er sich ordnungsgemäß registrieren kann.
Fügen Sie dazu eine heterogene Umgebung hinzu (Benutzer unter Windows und Server unter Unix), und Sie müssen Ihren Benutzer sowohl unter Unix als auch unter Windows registrieren! (mit demselben Login / Gruppennamen). Es sei denn, Sie stellen eine Art LDAP-Korrespondenz zwischen die beiden Welten (wie Centrify ).

Keine erweiterte API

  • Nur die CLI ist vollständig (" cleartool" ist die ClearCase-Befehlszeilenschnittstelle). Dies bedeutet, dass jedes Skript (in Perl oder einer anderen Sprache) darin besteht, die Ausgabe dieser cleartoolBefehle zu analysieren. )
  • ClearCase Automation Library (CAL) existiert, ist aber recht begrenzt
  • Die Java-API ist vorhanden, jedoch nur für Webansichten für den CCRC-Client.

Anzeigen von Speichern, die nicht einfach zentralisiert / gesichert werden können

Die Ansichtsspeicher entsprechen der ".svn" von SubVersion, außer dass in allen Verzeichnissen eines SubVersion-Arbeitsbereichs nur ein "Ansichtsspeicher" pro Ansicht anstelle vieler .svn vorhanden ist. Das ist gut.

Was schlecht ist, ist, dass jede Operation innerhalb einer Ansicht (ein einfaches " ls", Auschecken, Prüfen, ...) eine Netzwerkanforderung an den view_server- Prozess auslöst , der Ihren Ansichtsserver verwaltet.
2 Optionen:

  • Deklarieren Sie Ihren Ansichtsspeicher auf Ihrer Workstation: Aus Gründen der Skalierbarkeit können Sie so viele Ansichten haben, wie Sie möchten, ohne das LAN zu belasten. Die gesamte Kommunikation erfolgt direkt auf Ihrer Workstation. ABER wenn diese Maschine an dir stirbt, verlierst du deine Sicht .
  • Deklarieren Sie Ihren Ansichtsspeicher auf einem zentralen Server: Dies bedeutet, dass der gesamte view_server-Prozess dort erstellt wird und dass alle Vorgänge in einer Ansicht eines Benutzers mit diesem Server kommunizieren müssen. Dies ist möglich, wenn die Infrastruktur "richtig" ist (spezielles Hochgeschwindigkeits-LAN, dedizierter Server, ständige Überwachung), aber in der Praxis unterstützt Ihr LAN diesen Modus nicht.

Der erste Modus bedeutet: Sie müssen sich Ihre laufenden Arbeiten sichern (private Dateien oder ausgecheckte Dateien).
Der zweite Modus bedeutet: Ihre Workstation ist möglicherweise nicht verfügbar. Sie können sich einfach bei einer anderen anmelden und Ihre Ansichten zurückerhalten (für die private Ausführung ausführen) Dateien einer Schnappschussansicht)


Nebendiskussion über dynamische Ansichten :

Um den Aspekt "dynamische Ansicht" zu erweitern, hat er einen Vorteil (es ist dynamisch) und einen Nachteil (es ist dynamisch).
Dynamische Ansichten eignen sich hervorragend, um eine einfache Umgebung einzurichten, in der eine kleine Entwicklung schnell von einem kleinen Team gemeinsam genutzt werden kann. Bei geringem Entwicklungsaufwand kann eine dynamische Ansicht zwei oder drei Entwicklern helfen, ständig miteinander in Kontakt zu bleiben und sofort zu sehen, wann das Festschreiben unterbrochen wird etwas in den anderen Ansichten.
Für komplexere Entwicklungsanstrengungen ist die künstliche "Isolation" der Snapshot-Ansicht vorzuziehen (Änderungen werden nur angezeigt, wenn Sie Ihre Snapshot-Ansicht aktualisieren oder "aktualisieren").
Für einen wirklich unterschiedlichen Entwicklungsaufwand oder Kurs ist immer noch ein Zweig erforderlich, um eine echte Code-Isolation zu erreichen (irgendwann sind Zusammenführungen erforderlich, die ClearCase sehr gut, wenn auch langsam, Datei für Datei handhabt).

Der Punkt ist, dass Sie beide aus den richtigen Gründen verwenden können.

Hinweis: Mit kleinem Team meine ich nicht "kleines Projekt". ClearCase eignet sich am besten für große Projekte. Wenn Sie jedoch dynamische Ansichten verwenden möchten, müssen Sie " Task-Zweige " einrichten , um einen geringen Entwicklungsaufwand pro Zweig zu isolieren : Auf diese Weise ein "kleines Team" (eine Teilmenge Ihres großen Teams) ) kann effizient arbeiten und seine Arbeit schnell zwischen seinen Mitgliedern teilen.
Wenn Sie dynamische Ansichten in einem "Haupt" -Zweig verwenden, in dem jeder etwas tut, würde jedes Einchecken Sie "töten", da dies einige "Build-Pausen" ohne Bezug einführen könnte mit Ihrer aktuellen Entwicklungsanstrengung.
Das wäre dann eine schlechte Verwendung dynamischer Ansichten, und das würde seine anderen Verwendungen vergessen:

  • Zusätzliche Möglichkeit, auf Daten zuzugreifen , zusätzlich zu Snapshot-Ansichten. Dies bedeutet, dass es ein großartiges Tool ist, um nur die Dateien zu "sehen" (Sie können beispielsweise eine dynamische Ansicht verwenden, um die Konfigurationsspezifikation zu optimieren, bis Sie sehen, was Sie wollen, und diese dann kopieren Regeln in Ihre übliche Schnappschussansicht)
  • Eine Seitenansicht zum Zusammenführen: Sie arbeiten mit Ihrer Snapshot-Ansicht, aber für Zusammenführungen können Sie Ihre dynamische "Schwesteransicht" ("Schwester" wie in "derselben Konfigurationsspezifikation") verwenden, um eine fehlgeschlagene Zusammenführung aufgrund von zu vermeiden Ausgecheckte Dateien (an denen Sie gerade an Ihrer Snapshot-Ansicht arbeiten würden) oder aufgrund einer Snapshot-Ansicht, die nicht vollständig auf dem neuesten Stand ist. Sobald die Zusammenführung abgeschlossen ist, aktualisieren Sie Ihre reguläre Snapshot-Ansicht und setzen Ihre Arbeit fort.

Die direkte Entwicklung in einer dynamischen Ansicht ist nicht immer die beste Option, da alle (nicht ausgecheckten) Dateien über das Netzwerk gelesen werden .
Das bedeutet, dass auf die von Ihrer IDE benötigte DLL, JAR oder Exe über das Netzwerk zugegriffen wird, was den Kompilierungsprozess erheblich verlangsamen kann.
Mögliche Lösungen:

  • eine Schnappschussansicht mit allem darin
  • Eine Snapshot-Ansicht mit DLL oder JAR oder Exe (Dateien, die nicht alle fünf Minuten geändert werden: ein Update pro Tag) und eine dynamische Ansicht, in der nur die Quellen sichtbar sind.

5
Ich verstehe immer noch nicht, was an dynamischen Ansichten so großartig ist. Ich gebe zu, dass ich keine Updates mehr durchführen muss, aber wenn jemand den Build bricht, muss ich sofort mit diesem kaputten Build arbeiten und kann nicht einfach nicht aktualisieren, bis er wieder repariert ist.
BE

2
@ VonCs Punkt war, dass es in einem kleinen Team funktioniert. Kleine Teams checken von Natur aus früh und häufig ein, mit kleinen Änderungen bei jedem Commit. Daher sollte es nicht schwierig sein herauszufinden, wer es gebrochen hat und was sie getan haben. Warum sollten kleine Teams ClearCase kaufen? Die Kosten und Arbeitsabläufe anderer Optionen sind besser geeignet als beim datierten ClearCase.
Geowa4

6
Ich bin in einem kleinen Team. Wir verwenden Clearcase, weil es ein Unternehmensstandard ist. Dynamische Ansichten verschwenden im Grunde genommen einen Tag für mich, jedes Mal, wenn sich jemand anderes verpflichtet.
AlbertoPL

1
@AlbertoPL Ich stimme Ihnen zu, wenn jeder versucht, alles auf demselben Zweig zu tun: Dann bringen Sie die dynamischen Updates um. Wenn der Aufwand für eine dedizierte Niederlassung jedoch gering genug ist, kann das kleine Subteam dynamische Ansichten optimal nutzen.
VonC

2
Wenn Entwickler NIEMALS Commits direkt an einen "Hauptzweig" senden, hilft kein VCS dabei, dass Sie keinen sinnvollen Entwicklungsprozess haben.
Nick Bastin

35

Die Kosten sind ein ziemlich offensichtlicher Nachteil. Nicht nur die Lizenzkosten, sondern auch die Kosten für das Gehalt eines ClearCase-Gurus. Fast jedes Unternehmen, von dem ich weiß, dass es ClearCase verwendet, scheint mindestens eine Person zu haben, deren einziger Zweck darin besteht, das widerspenstige Tier zu zähmen.

Die Tatsache, dass es kompliziert genug ist, eine Vollzeit-Nanny zu benötigen, ist ebenfalls besorgniserregend.


Nun, OP scheint sich nicht um die Kosten zu kümmern.
Otávio Décio

5
Kosten für Software, Hardware und Mitarbeiter sind nicht unbedingt fungibel. Sie können je nach Organisation aus unterschiedlichen Budgets stammen. Darüber hinaus ist das Hinzufügen einer Person nicht unbedingt so einfach wie das Budgetieren von Gehältern und Nebenkosten. Es kann durchaus andere Probleme geben, und Sie können darauf wetten, dass eine Abteilung weiterhin an der Verfügbarkeit einer Person arbeiten kann. Ich würde ein System sehr bevorzugen, das keinen Vollzeit-Guru benötigt und in dem Einzelpersonen die meisten Probleme selbst bewältigen können.
David Thornley

Ja, aber haben Sie jemals in einer Umgebung gearbeitet, in der mehr als 50 Entwickler an einer Codebasis arbeiten? Sie benötigen UCM und eine Streaming-Strategie, um damit umzugehen. Sie könnten wahrscheinlich einige echte Gurus haben, die Ihnen einige Skripte und Dinge schreiben, die Sie auf Ihrem SCM bearbeiten können, um dies für Sie zu tun, was im Laufe der Zeit wirklich gut funktionieren würde. An diesem Punkt haben Sie ein nicht gepflegtes Durcheinander von Skripten mit Macken.
Spence

6
Ich weiß nicht, was UCM ist, aber unabhängig davon, welches VCS Sie verwenden, müssen Sie sich offensichtlich auf eine Streaming- / Verzweigungsstrategie einigen. Eine Sache, die Sie definitiv nie brauchen, ist ClearCase. Ich sage dies als jemand, der derzeit an einem Projekt arbeitet, das ClearCase verwendet. Es ist einfach schrecklich.
Dónal

Gestatten Sie mir, die obige Antwort hinzuzufügen. Ich arbeite derzeit in einer Organisation, in der wir ein 5-köpfiges Team haben, das sich mit der Verwaltung des zentralen ClearCase-Repos befasst. Es mag viel erscheinen, aber für mich kann es chaotisch sein, wenn 200 Entwickler an Clearcase arbeiten, ohne dass eine zentrale Entität es verwaltet. Das Problem wird in verteilten Systemen wie git nicht (oder in geringerem Maße) auftreten.
Rahm

27

Ein absoluter Albtraum eines Systems. Ich wünschte, wir könnten zu VSS zurückkehren! (Egal , ob es sich um ein modernes Versionsverwaltungssystem wie Subversion oder Git handelt!)

  • Es ist langsam .
  • Wenn Sie dynamische Ansichten verwenden und das Netzwerk ausfällt, können Sie nicht auf Ihre Arbeitskopie der Quelle zugreifen . Sie können nur sitzen und warten , bis das Problem behoben ist.
  • Wenn Sie Snapshot- Ansichten verwenden, scheinen Sie ständig auf Konflikte und "entführte" Dateien zu stoßen, sodass die Dateien in Ihrer Arbeitskopie nie ganz die gleichen sind wie im Quell-Repository .
  • Wenn Sie ein großes Update versuchen oder eine Operation ausführen, schlägt dies aus dem einen oder anderen Grund ausnahmslos fehl, sodass Ihr ClearCase-Guru einige Stunden / Tage damit verbringen muss, es herauszufinden. Oh ja, Sie müssen einen engagierten Vollzeit-ClearCase-Guru haben!
  • Wenn dies fehlschlägt, können Sie den Vorgang häufig auch nicht zurücksetzen , sodass Sie an einem laufenden Vorgang festhalten und die Entwickler blockiert werden .
  • Wenn Sie über die hübschen (?) Symbole hinausblicken, ist die Benutzeroberfläche sehr schlecht - bis hin zu Dingen wie der Unfähigkeit, die Größe von Fenstern zu ändern, um vollständige Dateipfade anzuzeigen!
  • Ihre Support- Mitarbeiter zögern, irgendetwas zu reparieren. Ihre erste Antwort lautet immer " Dies ist beabsichtigt " und "Können Sie das umgehen?" Wenn sie letztendlich (nach langem Streiten) eine Lösung bieten, ist dies die grundlegendste Lösung für das unmittelbarste Problem.

Im Grunde ist es langsam, kompliziert und höllisch unzuverlässig. Oh, und habe ich schon erwähnt, dass es lächerlich teuer ist ? Die einzige Möglichkeit, es zu verkaufen, besteht darin, mit Entscheidungsträgern zu sprechen, die das Produkt noch nie verwendet haben und es niemals tun werden! Ich bin mir ziemlich sicher, dass kein Entwickler auf der Welt es jemals kaufen würde.


> Wenn dies fehlschlägt, können Sie häufig kein Rollback durchführen: Dies hängt davon ab, ob Sie mit dem Einchecken begonnen haben oder nicht. Wenn es immer noch nur Checkout-Dateien gibt, besteht das Rollback nur aus " undo checkout" allem. Hinweis: Für Zusammenführungen, die als kompliziert angesehen werden (aufgrund eines wichtigen Zeitablaufs seit der letzten Zusammenführung), kann ein "Zusammenführungszweig" eine gute Option sein, um den Zusammenführungsaufwand zu isolieren. Sobald dort alles konsolidiert ist, schließt eine einfache Zusammenführung mit dem Entwicklungszweig den Prozess ab (Hinweis im Hinweis: Dieser letzte Hinweis ist nicht ClearCase-spezifisch und kann für alle VCS-Tools gelten).
VonC

25

Atomic Commits und Changesets sind meine größten Probleme mit ClearCase. Angenommen, Sie checken fünf Dateien im Rahmen einer Fehlerbehebung oder eines Refactorings ein. Dann wird festgestellt, dass etwas durcheinander geraten ist und Sie zurückkehren müssen. Viel Glück beim Finden der fünf Dateien und der jeweiligen Version . Aber machen wir einen Schritt zurück. Sie haben gerade die Bearbeitung dieser fünf Dateien abgeschlossen und es ist Zeit, ein Commit durchzuführen. Die ersten vier gehen ganz gut durch. Letzteres erfordert eine massive Zusammenführung. Die anderen vier Dateien sind bereits eingecheckt. Sie warten nicht darauf, dass Sie die erforderlichen Änderungen in der letzten Datei vornehmen. Ich hoffe sehr, dass niemand aktualisiert wurde oder eine dynamische Ansicht verwendet. Ein Server für die kontinuierliche Integration wird ebenfalls ausfallen.

Manchmal erstellen wir ein ganz neues Verzeichnis mit Dateien, die eingecheckt werden müssen, aber wir möchten sie erst einchecken, wenn sie fertig sind. Es ist früh und alles ist immer noch volatil. Warum also Dinge einchecken, die Sie möglicherweise sehr bald löschen werden? OK, soweit gut. Jetzt ist es Zeit zum Einchecken. Sie fügen den neu erstellten Ordner der Quellcodeverwaltung hinzu. Nun, ClearCase ist nicht rekursiv, daher wird nur dieser einzelne Ordner eingecheckt. Mit SVN werden dieser Ordner und alles darunter hinzugefügt, wie Sie möchten. Der Entwickler muss daran denken, alles hinzuzufügen, da sonst viele Dateien fehlen.

ClearCase besitzt die Dateien und Ordner, sodass Sie nichts ändern können, es sei denn, Sie haben es zuerst ausgecheckt. Das Eclipse-Plugin nimmt hier viel Ärger weg. Ich kann Ihnen nicht sagen, wie oft ich eine Datei in vi geöffnet habe, um eine schnelle Änderung vorzunehmen, nur um festzustellen, dass ich vergessen hatte, sie zuerst auszuchecken. Das Auschecken ist auch nicht rekursiv.

Updates können ohne Änderungssätze schmerzhaft langsam sein. Wenn Sie mit einer Snapshot-Ansicht aktualisieren, wird jede Datei aktualisiert, nicht nur die geänderten Dateien. Ich habe an einem Projekt mit mehr als 20.000 Dateien gearbeitet. Ich würde eine Remote-Verbindung zu meinem Arbeitscomputer herstellen, das Update starten und dann zur Arbeit fahren. bekomme Kaffee; Geh zu meinem Schreibtisch, während es fertig war. Das mag übertrieben klingen, ist es aber leider nicht.

Dynamische Ansichten sind schrecklich, wenn Sie nicht in einem sehr kleinen Team sind. Und wenn dies der Fall ist, warum haben Sie dann überhaupt ClearCase? Ich habe unzählige Ansichten von Menschen gesehen, die abgespritzt wurden, weil jemand Dateien eingecheckt hat, die die Ansichten aller anderen gebrochen haben. Sie sollten Konflikte immer in Ihrer eigenen Ansicht aktualisieren und zusammenführen. Auf diese Weise wirken sich die Änderungen nur auf Sie aus. Bei einer dynamischen Ansicht können Sie nicht zusammenführen, bevor Sie wieder nach oben drücken. Sie verpflichten sich nur und hoffen.

Ich weiß, dass die Kosten wahrscheinlich kein großes Problem sind, aber die Entwickler, die das Geld für das Unternehmen verdienen, würden die 50.000 bis 100.000 US-Dollar (abhängig von der ClearQuest-Lizenz, die häufig hinzugefügt wird) entweder für unterhaltsame Veranstaltungen oder für neue Geräte ausgeben ( Stühle, Monitore usw.). IBM empfiehlt Mitarbeiter, die ClearCase am Laufen halten. Warum nicht diese Leute dazu verwenden, Einnahmen für das Unternehmen zu generieren, anstatt sicherzustellen, dass die Dinge nicht abstürzen und brennen?


Einige der Gründe, die ich gehört habe, weil ich nicht gewechselt habe:

  • Lernen kostet Zeit und Geld
    • Das Erlernen von SVN oder Mercurial sollte nicht länger als einen Tag dauern. Nur ClearCase schlägt ein bestimmtes Verhältnis von Administratoren zu Entwicklern vor.
  • Migration wird schmerzhaft sein
  • Sicherheit
    • Es sind keine Lücken in SVN AFAIK bekannt, und das Entwicklungsteam ist bestrebt, alles zu beheben, was schnell gefunden wird. Das Verteidigungsministerium scheint mit SVN einverstanden zu sein.
  • Kein wirklicher Produktivitätsgewinn danach
    • Es dauert ewig, Fehler ohne Änderungssätze aufzuspüren. Ich liebe es, zurückrollen zu können, bis ich den Fehler nicht mehr sehe. In ClearCase ist das nicht möglich.
  • Multisite
    • WANdisco löst dieses Problem. Es ist jedoch nicht kostenlos.

Das einzige, was ClearCase besser macht als der Rest, ist das Verzweigen einzelner Dateien, während die anderen auf dem gleichen Weg wie ein anderer Zweig bleiben.


2
Wenn ich dazu komme, werde ich mehr posten.
Geowa4

Durch die Implementierung einer Zusammenführungssperre werden viele Ihrer Probleme gelöst. Außerdem ist es sehr einfach, Änderungen nach Datum / Uhrzeit zurückzusetzen. Ja, es ist eine andere Arbeitsweise, und es ist wohl ärgerlicher als ein Tool, das atomare Commits ausführt, aber diese Dinge sollten Ihnen nicht im Weg stehen. In weitaus kürzerer Zeit, als Sie wahrscheinlich durch diese Probleme verloren haben, hätten Sie sie in Ihrer Zusammenführungsrichtlinie beheben können.
Nick Bastin

Sie wissen auch über Svn BLAME Bescheid, oder? Sie müssen kein Rollback durchführen, wenn Sie die letzte Bearbeitung jeder Zeile sehen, in der ein Fehler auftreten könnte.
Spence

20

Alles, was ich in Clearcase getan habe, scheint immer schwierig zu sein . Während ich diesen Eindruck bei anderen Systemen noch nie hatte (außer vielleicht gelegentlich bei CVS).

Ich habe SVN, CVS, Clearcase und Mercurial verwendet.


2
Nun, CVS scheint auch immer schwierig zu sein. Aber nicht so schwer wie ClearCase! +1
EMP

15

Meine Erfahrung mit ClearCase war eine Katastrophe, und ich werde Dons Aussage folgen, dass ein Experte erforderlich ist - leider hatten wir mehr als einen. Ich hatte Erfahrung mit CVS und anderen Versionskontrollsystemen, war mit den Konzepten vertraut, fand die ClearCase-Dokumentation jedoch unverständlich und musste mehrmals um Hilfe bitten. Verschiedene Experten gaben mir widersprüchliche Ratschläge bis zu dem Punkt, an dem wir die CD tatsächlich kaputt gemacht haben . Das heißt, nachdem ich einen ClearCase-Befehl in einer UNIX-Shell ausgegeben habe, ist der Befehl "cd" mit einer Fehlermeldung fehlgeschlagen.

Die grundlegende Aufgabe eines Versionskontrollsystems ist wirklich ziemlich einfach. Ehrlich gesagt denke ich, dass ein halbes Dutzend Befehle ausreichen sollten, wenn ein Dateischema verwendet wird, das gut mit anderen zusammenarbeitet. Für mich sieht ClearCase aus wie das Ergebnis eines Marketing-Managers, der die Dinge absichtlich kompliziert, damit das Produkt raffiniert und leistungsstark aussieht. Ich habe gehört, dass es so konfiguriert werden kann, dass es sich auf einfache, sichere und zuverlässige Weise verhält, aber auch dies erfordert die Dienste eines Experten - sofort ist es wie ein motorisiertes Schweizer Taschenmesser.


1
Tut mir leid das zu hören. Wir führen ClearCase (2002, dann 2003, 2007 und jetzt 7.1) unter Windows, Linux und Solaris (8 und jetzt 10) problemlos aus. CD funktioniert
super

CD zu brechen ist nicht sehr schwer. Entfernen Sie einfach das Verzeichnis, in dem die Shell geparkt ist. Das Entladen / Neuladen von mvfs könnte dies tun. CD einfach nach / und wieder zurück (wenn das Verzeichnis wieder zurück ist). Trotzdem habe ich nichts zu sagen, um die Implementierung von ClearCase zu verteidigen. Tolles Konzept.
kmarsh

Ja, ich weiß von CD zu / oder etwas, von dem bekannt ist, dass es existiert - es hat nicht funktioniert. Diese Muschel war eine sehr kranke Muschel.
Beta

15

Alles, was ich in Bezug auf ClearCase erlebt habe, ist ineffizient, hässlich, übermäßig komplex, langsam, verwirrend, teuer und unpraktisch.

Es scheint Manager und Ingenieure anzulocken, die einfach alles falsch gemacht haben.

Verdammt, IBM und Rational müssen erstaunliche Verkäufer haben, um solch ein beschissenes Produkt zu verkaufen.


5
Ich habe mich auch gefragt, welche Art von funkelnden Broschüren die Clearcase-Verkäufer haben müssen, um dieses Zeug verkaufen zu können. Vielleicht ist es nur ein wirklich wunderbares System für alle, die es nicht wirklich benutzen.
Mattias Nilsson

15

Wir migrieren gerade aus vielen der hier genannten Gründe von CC auf Git. Ich möchte einen Grund hinzufügen, sich von CC oder anderen kommerziellen Versionsverwaltungssystemen fernzuhalten.

Ihre wichtigen Geschäftsdaten sind Geiseln von ClearCase. Du kannst es nicht rausholen.

Ihre wichtigen Geschäftsdaten sind der Code, der Versionsverlauf und alle Metadaten wie Commit-Kommentare, wer wann eingecheckt hat.

Alle Software hat eine begrenzte Nutzungsdauer. Sie sollten sich immer fragen, wenn Sie ein neues System einführen, das wichtige Geschäftsdaten verschluckt, ob es sich um Code, Fehler, Kundendaten handelt oder nicht: Wie bekomme ich meine Daten wieder heraus? Wenn Sie diese Frage nicht beantworten können, sollten Sie dieses System nicht einführen.

Bei der Migration haben wir den größten Teil unserer Geschichte und alle unsere Metadaten verloren. Im Wesentlichen haben wir nur einen Verlauf, der den veröffentlichten Versionen entspricht, aber Informationen darüber, welche Änderungen als Reaktion auf Kundenanfragen vorgenommen wurden, gehen verloren (wir haben diese Daten im Kundensupport- und Bug-Ticket-System, sodass sie nicht vollständig verloren gehen, sondern die Kopplung an der Quellcode ist weg).

Dies wird kurz- bis mittelfristig zwischen einem Ärgernis und einem Problem für uns liegen. In ein paar Jahren ist es nicht mehr wichtig, aber vielleicht für 1-3 Jahre wird es wichtig sein.

(Es gibt kommerzielle Tools, um CC auf andere SCM zu migrieren, aber sie wurden als nicht angemessen für unsere Anforderungen angesehen, und ich bezweifle, dass dies machbar gewesen wäre. Der minimale Export, den wir durchgeführt haben, hat lange genug gedauert.)

Die gewonnene Erkenntnis lautet: Vertrauen Sie niemals wichtige Geschäftsdaten proprietären Systemen an.


14

Keine atomaren Commits

Sobald Sie Dateien eingecheckt haben, ist es sehr schwierig, zu einem bestimmten Status zurückzukehren, da atomare Commits nicht unterstützt werden. Beim Einchecken mehrerer Dateien erhält jede Datei eine neue Revision (ähnlich wie CVS) und nicht das Einchecken selbst. Ich denke, dies ist eine entscheidende Funktion, da Sie kaum einzelne Dateien zurücksetzen möchten, sondern Festschreibungsaktionen abschließen möchten (die Aufgaben zuordnen sollten). Mit ClearCase können Sie nur mithilfe von Labels zu bestimmten Status zurückkehren. In der Praxis ist die Verwendung von ClearCase-Etiketten für jeden Check-in übertrieben und wird daher nicht durchgeführt.

Beschissene Benutzeroberfläche

Die GUI von ClearCase Explorer ist nur ein großer Witz. Schrecklich in der Benutzerfreundlichkeit und hässlich aussehend. Verschiedene und oft notwendige Funktionen werden nicht bereitgestellt (z. B. rekursives Einchecken von bearbeiteten Artefakten). Das mit cygwin verwendete Befehlszeilen-Tool cleartool ist viel besser, aber einige Dinge sind nicht verfügbar, wie das rekursive Hinzufügen neuer Dateien / Ordner zur Quellcodeverwaltung. Ich muss mich auslachen, wenn ich ein 50 Zeilen Code langes Skript lese, um dies zu umgehen.

Hoher Verwaltungsaufwand

Die Verwaltung von ClearCase Beast ist alles andere als offensichtlich oder leicht (im Gegensatz zu anderen SCM-Systemen wie CVS, Subversion oder Git). Erwarten Sie einige engagierte ClearCase-Experten, um den Betrieb aufrechtzuerhalten.

Schreckliche Leistung

Nichts ist schlimmer, als Ihre Entwickler warten zu lassen, während sie mit dem SCM-Tool verbunden sind. Es ist, als würden Sie mit aktivierten Handbremsen fahren. Es verlangsamt Ihr Gehirn und auch Ihre Arbeit. Das Abrufen neuer Dateien in Ihre Snapshot-Ansicht dauert für 10K-Artefakte etwa 30 Minuten. Ein Update (es wurden keine Artefakte geändert) für dieselbe Menge dauert ungefähr 5 Minuten. Wenn Sie viel experimentieren und zwischen verschiedenen aktuellen Ansichten wechseln, müssen Sie viel warten. Es wird noch schlimmer, wenn Sie an Dateien arbeiten und diese einchecken oder aktualisieren möchten. Das Auschecken, Einchecken und Hinzufügen zu den Quellcodeverwaltungszyklen dauert etwa 10 bis 15 Sekunden, was offensichtlich ein Albtraum ist. Es wird sehr ärgerlich, wenn Sie Typen oder Methoden umbenennen / verschieben (viele Dateien können betroffen sein).

Mangelnde Unterstützung der verteilten Entwicklung

Heutzutage ist Softwareentwicklung oft eine verteilte Sache (Entwickler sind auf der ganzen Welt verteilt und arbeiten an demselben Produkt / Projekt). ClearCase ist definitiv nicht dafür geeignet, da es für Offline-Arbeiten schlecht geeignet ist. Für das Auschecken (Aktion, bevor Sie eine Datei / einen Ordner bearbeiten können) müssen Sie mit dem Netzwerk verbunden sein. Hier können Sie die Hijack-Option verwenden, dies ist jedoch eher eine Problemumgehung (Sie entsperren im Grunde nur die Datei im Dateisystem). Wenn Ihre Entwicklungsstandorte weit von Ihrem ClearCase-Server entfernt sind, kann sich die Latenz beim Ein- und Auschecken sogar so stark erhöhen, dass sie überhaupt nicht mehr verwendet werden kann. Es gibt Problemumgehungen dafür wie die Verwendung von ClearCase Multisite (scm DB-Replikatechnologie), aber Sie müssen dafür extra bezahlen und sind für die Verwaltung nicht trivial.

Git als Alternative

Obwohl ich ein großer Fan und Unterstützer von Open Source bin, bin ich immer noch bereit, Geld für gute Software zu bezahlen. Aber wenn ich mir das IBM-Monster ClearCase anschaue, würde ich mein Geld nicht hier investieren, es hat all diese diskutierten Mängel, und außerdem scheint IBM kein Geld zu investieren, um sein Produkt signifikant zu verbessern. Kürzlich habe ich mir einen Git-Scm angesehen, der sehr gut aussieht, insbesondere wegen seiner Verzweigungs- und Zusammenführungsfunktionen, bei denen ClearCase seine Hauptstärken hat.

Diese Informationen stammen von http://www.aldana-online.de/2009/03/19/reasons-why-you-should-stay-away-from-clearcase/


13

Möglicherweise die schlechteste Software, die jemals hergestellt wurde. Ich werde nicht für eine Firma arbeiten, die irgendetwas Rationales verwendet. Abgesehen davon, dass CC bei dynamischen Builds häufig abstürzt und meine Workstation häufig neu startet. Was passiert, wenn Sie etwas in die Quellcodeverwaltung verschieben und CC das tut, was es am besten kann, Absturz? Wird Ihr Code dann verloren + gefunden, vielleicht irgendwo gesichert? Nein, es ist für immer weg. Wenn Sie sich also jemals in der schrecklichen Situation befinden, diese riesige teure Software zu verwenden, bewahren Sie Duplikate von allem auf. Gute Arbeit Rational / IBM. Möglichkeit, den wichtigsten Teil der Quellcodeverwaltung, die Zuverlässigkeit, zu erfassen. Stirb langsam.


12

Nachteile von ClearCase - eine Ergänzung zu dem ausführlichsten Beitrag hier.

  1. Das Merge-Tool lohnt sich nicht. Es hilft dir kaum, erinnert sich an keine Entscheidungen, die du getroffen hast, es ist nur ein verherrlichter Unterschied.

  2. Das Zusammenführungstool muss Verzeichnisse auschecken, um sogar zu prüfen, ob sie zusammengeführt werden müssen. Es ist ein bisschen verrückt.

  3. Ich verwende BitKeeper bei der Arbeit (nehmen wir an, Git), und das Zusammenführen von zwei Repositorys, selbst wenn es Konflikte gibt, ist selbst mit der Befehlszeile so trivial und benutzerfreundlich, während ClearCase mit Tonnen von GUI-Tools ein langer und mühsamer Prozess ist, der auch äußerst fehleranfällig ist .

  4. Alle GUI-Tools erfordern eine Menge Latenz. Selbst um zu sehen, was in einer Datei getan werden kann, ist eine Hochgeschwindigkeitsverbindung erforderlich. Das Klicken mit der rechten Maustaste in das ClearCase-Tool auf eine Datei, die von zu Hause aus funktioniert, kann aufgrund der extrem hohen Netzwerkanforderungen ein oder zwei Minuten dauern, wenn das Hochgeschwindigkeitsinternet verfügbar ist.

  5. Jemand kann das Repository oder das Einchecken komplett durcheinander bringen, wenn sich seine Ansichtsspezifikation von der des Teams unterscheidet. Was ziemlich verrückt ist, dass niemand einfach einen Zweig auschecken kann; Sie benötigen die entsprechende Ansichtsspezifikation, die ihnen im Übrigen das richtige Material bietet. Das ganze Konzept kann schön und flexibel sein, aber in 99% der Fälle verursacht es nur große Schmerzen. Habe ich erwähnt, dass Sie Ihre Spezifikation nicht über Microsoft Outlook per E-Mail versenden können, da CC-Tools UTF-8 nicht akzeptieren und Sie sie daher nicht kopieren und einfügen können?

  6. Ich kann absolut nichts Nettes über CC sagen. Ich habe es 2 Jahre lang bei 2 Unternehmen verwendet und es sofort fallen lassen, wobei ich mich die ganze Zeit über glücklich fühlte. Es ist auch unmöglich, zu Hause nur mit Ihren eigenen Projekten zu experimentieren, sodass Sie zu Hause immer noch SVN oder Git lernen und gezwungen sind, ClearCase-Schmerzen bei der Arbeit zu überwinden. Niemand, den ich kenne, hat CC jemals freiwillig eingesetzt. Sie verwenden es nur, weil einige Manager bei der Arbeit entschieden haben, dass CC der Weg zur Erlösung ist, und alle gezwungen haben, dorthin zu migrieren. Tatsächlich ist meine letzte Firma von CVS zu ClearCase und nach einem Jahr von ClearCase zu SVN migriert. Es war so gehasst.

  7. ClearCase ist nicht nur eine Sache, bei der Sie Nein sagen. Es ist, als würde man in einem Haus leben, das von Ameisen befallen ist. Jede Ameise ist bestenfalls eine kleine Unannehmlichkeit, aber der Befall wird Sie verrückt machen.


11

Ich versuche hier ein paar Kommentare in einem tatsächlichen Beitrag zusammenzufassen. Ich bin nicht wirklich hier, um Sie davon zu überzeugen, dass einer besser ist als der andere, außer um ein paar Punkte zu machen:

  • Wenn Sie git und ClearCase vergleichen, gehe ich respektvoll davon aus, dass Sie Ihre Bedürfnisse besser definieren müssen - wenn Sie ClearCase aus einem "guten" Grund in Betracht ziehen, ist das git wahrscheinlich nicht einmal in der Gleichung enthalten - es ist viel zu neu, um zu vertrauen für die Quellcodeverwaltung auf Unternehmensebene, imo.
  • ClearCase führt viele Konzepte in den Versionskontrollbereich ein, über die andere Systeme nicht verfügen. Daher kann dies ziemlich entmutigend und verwirrend sein. Vor allem, wenn Sie nur die Dokumentation lesen, wie es bei einigen Leuten hier der Fall zu sein scheint.
  • ClearCase ist definitiv nicht gut für große Codebasen geeignet, die von Entwicklern unterstützt werden, die sich nicht in einem LAN mit einem VOB-Server befinden. Sie können viele replizierte (Multi-Site) VOB-Server haben, um sie in die Nähe von Remote-Entwicklern zu bringen. Dies ist jedoch nicht unbedingt praktikabel, wenn diese Remote-Sites nur ein einziger Entwickler sind.
  • Möchten Sie eine Dateiversionierung oder eine Repository-Versionierung? Dies ist eine ziemlich wichtige Frage, die notwendigerweise eine ganze Reihe von Werkzeugen herausfiltert und Ihnen die Arbeit erleichtert. Die Repository-Versionierung hat viele Vorteile (und sie ist nicht "neu", wie einige Poster behaupteten - kommerzielle Tools wie Perforce gibt es schon seit mehr als einem Dutzend Jahren, und es gab möglicherweise Tools, die die Repository-Versionierung bereits vor Perforce durchgeführt haben), aber Es ist kein Allheilmittel.
  • Bei einer ausreichend großen Installation eines Quellcodeverwaltungssystems benötigen Sie Hilfe. Wenn Sie über Tools nachdenken, müssen Sie berücksichtigen, wie einfach es sein wird, Mitarbeiter zu finden, die Ihnen helfen (entweder Bewerber mit Erfahrung oder Berater, die kurzfristig vor Ort sind, um Probleme zu lösen). Es gibt kein wartungsfreies SCM-System, und wenn Sie eines haben, werden Sie mehr Probleme bekommen, als wenn Sie eines auswählen, das "zu viel" Administration erfordert.
  • Achten Sie nicht zu sehr auf Leute, die darüber sprechen, wie schlecht "dynamische Ansichten" sind - schlechte SCM-Richtlinien sind schlecht, unabhängig davon, welches Tool Sie verwenden. Ihre Konfigurationsverwaltungsrichtlinien und -praktiken müssen von der Auswahl Ihres Tools getrennt sein. Kein Tool verhindert, dass Benutzer Ihre gesamte Codebasis zerstören, wenn Sie keine sinnvollen Richtlinien für Verzweigungen und Zusammenführungen definieren. Wenn jemand vorschlägt, dass es jemals sinnvoll ist, Entwickler direkt auf / main zu verpflichten, sollten Sie sich von dieser Konversation entfernen.

ClearCase ist ein gutes Werkzeug, aber es ist kompliziertWerkzeug. Daran führt kein Weg vorbei - es gibt keinen "Easy Install" -Modus. :-) Aus technischer Sicht gibt es nichts, was Git oder SVN nicht können, was ClearCase nicht kann (obwohl die Terminologie oft anders ist, da Open Source-Projekte dazu neigen, nur eine neue Taxonomie zu erfinden, wo es bereits eine gab), aber einige Dinge sind definitiv einfacher / schwieriger für ein bestimmtes System, abhängig von ihrem Design. ClearCase-Snapshot-Ansichten sind im Grunde dasselbe, was Sie hätten, wenn Sie ein Repository von SVN oder CVS ausgecheckt hätten - es ist eine lokale Kopie des Quellcodes auf Ihrem Computer, mit Zeigern zurück auf den zentralen Server, damit Tools den Versionsverlauf abfragen können. usw. Sie können mit diesen Ansichten arbeiten, ohne dass eine Netzwerkverbindung zum ClearCase-Server besteht, sobald sie erstellt wurden, und Sie können sie "recyceln". Sie vermeiden, dass Sie Ihr gesamtes Repository erneut herunterladen, wenn Sie beispielsweise in einem anderen Zweig arbeiten möchten. "Dynamische Ansichten" sind im Grunde eine Erfindung von ClearCase und der Standardbetriebsmodus für ein LAN. Sie sehen genauso aus wie das Auschecken eines SVN-Repositorys, kopieren jedoch erst dann Dateien, wenn Sie Änderungen vornehmen. Auf diese Weise ist die Ansicht sofort verfügbar, kann jedoch offensichtlich nicht bearbeitet werden, wenn der Haupt-Clearcase-Server nicht verfügbar ist und es unangenehm ist, über eine Verbindung mit hoher Latenz zu arbeiten. Sie können auch als Netzwerklaufwerk auf jedem Computer mit Zugriff auf den Server bereitgestellt werden, auf dem sie erstellt wurden. Wenn Ihre Windows-Workstation ausfällt, können Sie sich einfach bei einem anderen Computer anmelden, Ihre Ansicht bereitstellen und abrufen zurück an die Arbeit,

Auch, und dies verdient seinen eigenen Absatz ... Clearmerge ist fast den Eintrittspreis allein wert. Es ist zweifellos das beste Zusammenführungswerkzeug, das ich je in meinem Leben verwendet habe. Ich bin der festen Überzeugung, dass sich aufgrund des Mangels an hochwertigen Zusammenführungswerkzeugen viele schlechte Praktiken in SCM entwickelt haben. Daher haben CVS-Benutzer nie gelernt, Zweige richtig zu verwenden, und diese Angst vor Verzweigungen hat sich ohne besonders guten Grund bis heute verbreitet.

Ok, alles in allem, wenn Sie nach Gründen suchen, ClearCase nicht zu verwenden, sind sie nicht schwer zu finden, obwohl ich denke, dass dies der falsche Weg ist. Wirklich, Sie sollten gute Gründe für die Verwendung von ClearCase finden müssen, keine Gründe für die NICHT-Verwendung von ClearCase. Sie sollten in jede SCM-Situation geraten, wenn Sie davon ausgehen, dass ClearCase zu viel oder zu kompliziert für den Job ist, und dann prüfen, ob Sie eine Situation haben, die Sie dazu ermutigt, es trotzdem zu verwenden. IBM- oder Rational-Logos sind kein guter Grund .. :-)

Ich würde ClearCase nicht einmal in Betracht ziehen, wenn Sie nicht zu allen folgenden Aussagen Ja sagen könnten:

  • Sie haben jetzt oder werden irgendwann mehr als 50 Entwickler haben, die an derselben Codebasis arbeiten.
  • Die meisten dieser Entwickler befinden sich zentral oder verfügen über Verbindungen mit hohem Durchsatz und geringer Latenz zu einem zentralen Standort.
  • Sie verfügen über eine Reihe von SCM-Richtlinien und können festlegen, wie ClearCase zum Durchsetzen dieser Richtlinien verwendet werden soll (dies sollten Sie bei jedem Tool berücksichtigen.)
  • Geld ist wirklich kein Objekt

> Wenn Ihre Windows-Workstation ausfällt, können Sie sich einfach bei einer anderen anmelden: Nur wenn sich Ihr Ansichtsspeicher nicht auf Ihrer Workstation befand;) (und ein zentraler Ansichtsspeicher ist aufgrund der zusätzlichen Belastung des Netzwerks bei jedem Ansichtsvorgang nicht immer möglich dann mit einem Netzwerkzugriff )
VonC

OK, Clearmerge ist ein gutes Werkzeug, das gebe ich dir! Aber auf keinen Fall ist es den Preis des gesamten Systems wert - weder in Dollar noch in Vernunft.
EMP

@VonC: In einem gleichmäßig halbwegs gut gestalteten LAN verursachen dynamische Ansichten keinen signifikanten Netzwerkverkehr (z. B. im Vergleich zu Windows-Boxen, die ständig überall smb'en). Nach meiner Erfahrung ist es effizienter (und bequemer) als ein CVS- oder SVN-Checkout nach NFS exportieren und woanders bereitstellen zu lassen.
Nick Bastin

Ich habe damit in einem Team gearbeitet, in dem alle Ihre Bestimmungen wahr waren. Wir fanden es flexibel, leistungsstark und etwas umständlich.
Greg

9

Meine Erfahrung ist hauptsächlich durch CC, CVS und SVN begrenzt. Im Prinzip ist CC technologisch leistungsfähig, unternehmensfähig und durch Funktionen mit jedem modernen VCS vergleichbar. Aber es hat einige Mängel, die es in jeder menschenorientierten Umgebung unbrauchbar machen. Für prozessorientierte Umgebungen ist dies wahrscheinlich angemessener, obwohl ich bezweifle, dass solche Umgebungen für sich genommen geeignet sind. Vielleicht weiß ich es in militärischer, kosmischer oder medizinischer Software nicht. Jedenfalls glaube ich, dass es auch für diese Domänen geeignete und noch freundlichere Tools gibt.

CC ist nicht nur technisch leistungsfähiges VCS, sondern bietet auch einige entscheidende Vorteile:

  • Dynamische Ansichten
  • Schöner Versionsbaum
  • Löst aus
  • Gute Merge-Versionierung, einschließlich Umbenennung

Meiner Meinung nach ist ihre Verwendung mit Ausnahme der letzten begrenzt; und sie kompensieren keine Mängel. Dynamische Ansicht theoretisch gut, in der Praxis jedoch nicht immer verfügbar. Der Versionsbaum wird in anderen VCS viel weniger verwendet, während er in CC aufgrund der Verbreitung von Zweigen erforderlich ist (siehe 6). Trigger, wie ich weiß, sehr detailliert und fähig, aber ich denke, dass SVN-Hooks für die meisten praktischen Aufgaben gut genug sind. Und nun zu den Nachteilen, die hauptsächlich die Benutzerfreundlichkeit betreffen:

  • CC versagt im Sinne der Benutzerfreundlichkeit für die Hauptbenutzergruppe völlig: für Entwickler. Und das ist der Hauptgrund, warum ich denke, dass es niemals in einer Umgebung verwendet werden sollte, sei es für Unternehmen oder nicht. Selbst wenn es kostenlos wäre, würde es dennoch das Geld Ihres Unternehmens aufsaugen, indem es Zeit für Ihre Entwickler verschwendet und sie frustriert. Dieser Punkt setzt sich zusammen aus:
    1. "Auschecken-Einchecken" mit striktem Sperransatz - es ist kontraproduktiv, umgestaltet unfreundlich und gefährlich in Repository-Organisationen mit einem einzigen Entwicklungszweig für mehrere Entwickler. In der Zwischenzeit sind die Vorteile einer strengen Verriegelung vernachlässigbar.
    2. Schlechte Leistung und hohe Belastung
    3. Ohne Multi-Site (aufgrund von 2) kann es effektiv nicht remote verwendet werden. Multisite ist auch teuer. Der ClearCase Remote-Client ist sehr begrenzt. Es hat nicht einmal cleartool(vor Version 7.1), geschweige denn dynamische Ansichten.
    4. Es kann kaum offline verwendet werden. Dynamische Ansichten funktionieren einfach nicht. Snapshot-Ansichten sind effektiv schreibgeschützt, da Sie ohne Zugriff auf das Repository nicht auschecken können (siehe 1). Hijack ist eine schlechte Option, was bedeutet, dass CC jegliche Verantwortung für entführte Dateien aufgibt. Und CC kann Ihnen keinen Unterschied zur vorherigen Revision zeigen, wenn Sie offline sind. SVN kann Unterschiede zu früheren Versionen aufweisen, auch wenn diese offline sind.
    5. Übermäßig kompliziertes Modell, insbesondere mit UCM: VOBs, PVOBs, Projekte, Streams, Zweige, Ansichten, Bereitstellen, Aktualisieren, Laden, Wiederherstellen, Wiederherstellen, Zusammenführen, Baseline, Einchecken, Auschecken. Ich denke, dass die Hälfte dieser Konzepte nur überflüssig ist und keinen Mehrwert bietet, während sowohl die technische als auch die konzeptionelle Komplexität erhöht werden. Nur wenige Entwickler verstehen grundlegende Dinge über CC.
    6. Verbreitung von Zweigen. Beispielsweise wird das Repository häufig mit Streams pro Entwickler organisiert (aufgrund von 1). In SVN oder den meisten anderen VCS hat dies einfach keinen Sinn.
    7. Keine Repository-weiten Revisionen. Nun, es gibt solche Revisionen, die verstehen, sie werden Baselines genannt. Wenn ich jedoch eine Dateirevision sehe und zum Zeitpunkt dieser Dateirevision einen Repository-Snapshot erhalten möchte, treten einige Probleme auf. Ich muss schwarze Magie mit der Konfigurationsspezifikation ausführen, um eine Schnappschussansicht zu erstellen, oder irgendwie durch die dynamische Ansicht finden, ob sie verfügbar ist.
    8. Crappy User GUI. Der Versionsbaum ist zwar nett, aber mittelmäßig benutzerfreundlich. Das Zusammenführungswerkzeug ist nur schade. Andere "Funktionen": nicht in der Größe veränderbare Fenster, an einigen Stellen keine inkrementelle Suche, mauszentrierte Benutzeroberfläche, Erscheinungsbild im Stil von 1995, seltsamer Arbeitsablauf zwischen Client und Projektexplorer usw.
    9. CC provoziert seltene und umfangreiche Check-Ins. Sie alle wissen, dass das Einchecken klein und häufig sein muss. Entwickler verzichten jedoch normalerweise auf zusätzliche Interaktionen mit CC, entführen Dateien und arbeiten in lokalem VCS oder sogar ohne VCS (was leider häufiger der Fall ist). Nach zweiwöchiger Entwicklung beginnen sie mit der Festschreibung einer komplexen Funktion, die 20 Dateien hinzufügt und weitere 20 Dateien betrifft. Es dauert ein oder zwei Tage, da sie Dateien entführt haben und nun eine manuelle Zusammenführung mit allen neuen Änderungen aus dem Repo durchführen und alle Konflikte und Diskrepanzen lösen müssen. Während dieses Vorgangs ist Code nicht kompilierbar, da mehrere Dateien erfolgreich eingecheckt wurden und andere nicht. Und danach liegt es immer noch nicht kompilierbar, weil sie vergessen haben, weitere 2 Dateien zu CC hinzuzufügen.
  • Es ist sehr teuer
  • Es ist in Bezug auf die Infrastruktur sehr komplex und erfordert dedizierte Administratoren

8

ClearCase scheint von außen äußerst leistungsfähig zu sein. Aber wirklich, es ist nur so, dass die Anzahl der Befehle und Optionen, die Sie für den grundlegenden Workflow verwenden müssen, so hoch ist, dass diese hinter einigen Aliasnamen oder Skripten verborgen sind und Sie mit der Benutzerfreundlichkeit von Visual Source weniger leistungsfähig als CVS sind Sicher. Und jedes Mal, wenn Sie etwas komplizierteres tun möchten, als es Ihre Skripte zulassen, haben Sie ein schlechtes Gefühl im Magen.

Vergleichen Sie dies mit Git, was von außen kompliziert erscheint, aber nach einer Woche Arbeit fühlen Sie sich völlig unter Kontrolle. Das Repository-Modell ist einfach zu verstehen und unglaublich leistungsfähig. Da es leicht ist, an die Schrauben und Muttern zu gelangen, macht es tatsächlich Spaß, unter der Oberfläche Ihres täglichen Arbeitsablaufs zu graben.

Das Herausfinden einer trivialen Aufgabe, wie das Anzeigen einer Nicht-HEAD-Version einer Datei in einer Schnappschussansicht, dauerte einige Stunden, und am Ende war es ein vollständiger Hack . Auch nicht die unterhaltsame Art von Hack.

Aber in Git hat es großen Spaß gemacht, eine scheinbar komplizierte Aufgabe zu finden, wie man nur einige Änderungen interaktiv festlegt (und den Rest für später belässt), und ich habe die ganze Zeit das Gefühl, dass das VCS es mir ermöglicht, Code und zu organisieren Geschichte in einer Weise, die zu mir passt, anstatt dass Geschichte ein Unfall ist, wie wir das VCS benutzt haben. "Git bedeutet, niemals sagen zu müssen, dass du es haben solltest" .

Bei meiner Arbeit verwende ich Git für alle Arten von leichten Aufgaben, auch innerhalb von ClearCase. Zum Beispiel mache ich TDD und verpflichte mich zu Git, wenn eine Reihe von Tests bestanden werden und ich im Begriff bin, eine Umgestaltung vorzunehmen. Wenn die Aufgabe erledigt ist, checke ich bei ClearCase ein und Git hilft mir dabei, genau zu überprüfen, was ich ändere. Versuchen Sie einfach, ClearCase dazu zu bringen, einen Unterschied zwischen mehreren Dateien zu erzeugen - das kann es nicht! Verwenden Sie Google, um herauszufinden, welche verschiedenen Hacks versucht wurden, dies zu umgehen. Dies ist etwas, was die Versionskontrolle sofort tun sollte, und es sollte einfach sein! CVS hat dies seit Jahrzehnten!


Ich verstehe nicht ganz, wie Sie möglicherweise dieses Problem haben können. Sie übergeben einfach die Versions-Tags (oder das Label oder die Zeit oder den Zweig oder ...), an denen Sie interessiert sind, an cleardiff, und es wird sie gerne für Sie unterscheiden. Wenn Sie in einer Snapshot-Ansicht arbeiten und wirklich offline sind, können Sie natürlich keine Nicht-HEAD-Version unterscheiden - Sie haben keine anderen Versionen. Wenn Sie jedoch mit dem VOB-Server verbunden sind, können Sie einfach das Versions-Tag verwenden: cleardiff util.c @@ \ main \ some_branch \ some_version util.c @@ \ main \ some_branch \ some_other_version
Nick Bastin

Ich würde fragen, ob Etiketten verwendet werden. Wenn Sie eine zum Etikettieren haben, kann Clearcase mir das viel einfacher machen. Wenn Sie keine Etiketten verwenden, passiert das, was Matt beschreibt, häufig.
Kelly S. French

Bearbeiten Das heißt, wenn Sie einen "Plan" für die Kennzeichnung haben ...
Kelly S. French

1
Wenn Sie ein VCS mit Änderungssätzen verwenden (dh in den letzten fünfzehn Jahren entwickelt), müssen Sie keine Beschriftungen verwenden, um Änderungen über Dateien hinweg zu gruppieren. Ich denke, das macht meinen Standpunkt stärker; Wenn Sie ClearCase effektiv verwenden, müssen Sie Ihre Entwicklungsmethoden so ändern, dass sie sich um ClearCase drehen. Andere moderne VCSs (einschließlich Subversion und Perforce, nicht nur DVCSs) sind weit weniger aufdringlich.
Matt Curtis

1
@NickBastin: Ich habe festgestellt, dass dies bei einigen VCSs viel wahrer ist als bei anderen. In der Entwicklung eines bestimmten Tages mit ClearCase bin ich mir des VCS im Vergleich zu meinem Gefühl bei der Verwendung von Git sehr bewusst lebt effektiver im Hintergrund. Sicher, alle VCS stören bis zu einem gewissen Grad, aber es ist variabel. Verschieben Sie Dateien in einem Quellbaum, um beispielsweise die physische Struktur zu verbessern und Builds zu beschleunigen. Das passiert bei einigen (den meisten) VCSs im Grunde nie, weil es zu langweilig ist, den Verlauf zu verlieren oder Änderungen von jemandem zusammenzuführen, aber andere (Git!) Machen es trivial.
Matt Curtis

7
  • Albtraum zur Verwaltung in sicheren Umgebungen
  • Veraltete Technologie
  • Nicht intuitive Benutzeroberfläche
  • Teuer
  • Ressourcenmonster
  • Ausverkauf an Microsoft

Meiner Meinung nach? Einziger Grund, es zu haben? Wenn Sie RUP religiös folgen.


3
Sie benötigen ClearCase nicht, um RUP religiös oder auf andere Weise zu folgen.
Thomas Owens

6

Die Unterstützung ist schrecklich. Wir haben seit Jahren Tickets geöffnet. Unser Eclipse-Guru hat tatsächlich einen Fehler in seinem Eclipse-Plugin lokal in etwa 30 Minuten behoben, indem er die Java-Datei zerlegt hat. Aber das Ticket hat immer noch keine Unterstützung der ersten Stufe. Von Zeit zu Zeit versuchen sie entweder, es heimlich zu schließen oder es an uns zurückzusenden, um die neueste Version anzuprobieren (obwohl wir ihnen ein Reproduktionsrezept geschickt haben, das sie selbst ausprobieren konnten).

Berühren Sie nicht mit einer Kahnstange.


5

Performance.

ClearCase ist leistungsstark, stabil (wenn es ordnungsgemäß gewartet und überwacht wird), aber es ist langsam. Manchmal geologisch.

Dynamische Ansichtsansichten führen zu schrecklichen Erstellungszeiten. Die Aktualisierung von Snapshot-Ansichten kann einige Zeit dauern (Mittagspause bei großen Projekten) oder das Auschecken (für den Tag nach Hause gehen).


8
Wenn es "ordnungsgemäße Wartung und Überwachung" erfordert, um stabil zu bleiben, ist es nicht wirklich stabil. Es ist wie zu sagen "das X-Auto ist stabil, wenn Sie einen erfahrenen Piloten haben, der es fährt".
João Marcus

1
Dynamische Ansichten können gut funktionieren, wenn Sie "clear make" zum Erstellen von C / C ++ - Code verwenden und Sie eine gemeinsame Ausgabe verwenden, da ich sie sonst nicht verwenden würde.
Ian Ringrose

@ joao-marcus: Clearcase ist kein Auto, es ist ein 747. Sie sollten einen erfahrenen Piloten haben: Ihr durchschnittlicher Amateur mit seinem Pilotenschein ist einfach nicht qualifiziert, es zu fliegen. Aber ich glaube nicht, dass Sie sagen würden, dass dies eine 747 zu einem schrecklichen oder "instabilen" Flugzeug macht.
Zac Thompson


4
  • Die Entwickler werden die Hälfte ihrer Zeit damit verbringen, Clearcase herauszufinden, bevor sie Arbeiten ausführen. Sobald sie es herausgefunden haben, werden sie git lokal installieren und nur bei Bedarf auf das Clearcase-Repo zugreifen.

  • Sie müssen einen dedizierten Clearcase-Administrator einstellen.


Die Auftragsvergabe bei einem Unternehmen mit CC und dem ersten Punkt ist genau richtig. Tun sie!
Rich von Lehe

3

Ich würde SVN für Toolset und Git für Skalierung / Workflow vorschlagen. Ich würde auch vorschlagen, CC nach Möglichkeit zu vermeiden. (Ohne Geld zu zählen, ist die Tatsache, dass die Verwendung eines Vollzeitadministrators so schmerzhaft ist, ein totaler Witz.)


3

Ich musste mich kürzlich mit einer ähnlichen Situation auseinandersetzen. Vielleicht kannst du aus meiner Geschichte lernen.

Das Team, dem ich neu zugewiesen wurde, verwendete ein schweres Werkzeug auf verschlungene, fehleranfällige Weise. Ich habe zuerst versucht, sie mit meinen Werkzeugen und Prozessen meiner Wahl zu verkaufen. Dieser Versuch schlug kläglich fehl. Ich war verblüfft, dass sie eine so belastende Umgebung einer vorziehen würden, die sowohl einfacher als auch effektiver war. Es stellte sich heraus, dass sie diszipliniert werden wollten, und ein schmerzhafter Prozess fühlte sich für sie diszipliniert an. Es klingt komisch, aber es ist wahr. Sie hatten auch viele andere Missverständnisse. Nachdem ich herausgefunden hatte, wonach sie suchten, blieben wir tatsächlich bei derselben Tool-Suite (Serena), änderten jedoch massiv die Konfiguration.

Mein Rat an Sie ist, herauszufinden, worauf es Ihrem Team ankommt. Das Rippen auf ClearCase bringt Sie nur weiter, wenn Sie mit ihren Interessen sprechen. Finden Sie auch heraus, warum sie keine Alternativen verwenden möchten. Sammeln Sie im Grunde genommen ein wenig die Anforderungen und passen Sie Ihre Werkzeugauswahl an Ihre Bedürfnisse an. Abhängig von Ihren Optionen, wer weiß, ist Clear Case möglicherweise die beste Option.


2

Ich bin nicht ganz gegen ClearCase (es hat seine Vorteile), aber um die Nachteile aufzulisten:

  • Lizenzbeschränkungen - Ich kann nicht einfach von zu Hause aus arbeiten, da ich keinen Zugriff auf den Lizenzserver habe. Selbst mit einer Schnappschussansicht auf meinem Laptop muss ich Streiche spielen, weil ich keine Lizenz bekommen kann. Es gibt einen speziellen Remote-Client, der dem Mix jedoch eine Menge eigener Einschränkungen hinzufügt
  • Wieder Lizenzbeschränkungen - Nur so viele Plätze, und dann kann niemand sie benutzen.
  • Unix-Tools veraltet - ClearCase scheint auf Unix-Systemen am besten zu funktionieren, aber die GUI-Tools sind schlecht. Die Windows / Unix-Integration von ClearCase bringt alle möglichen eigenen Probleme mit sich.

1

Der größte Nachteil für mich ist sowohl die Leistung (insbesondere wenn Ihr VOB an mehreren Standorten oder außerhalb des Standorts ausgeführt wird) als auch potenziell lange Ausfallzeiten.

Wenn Sie wie ich sind und in einem relativ kleinen Büro als Teil eines großen Unternehmens (ohne IT vor Ort) arbeiten, kann der Ausfall von Clearcase-Servern Sie den größten Teil eines Arbeitstages kosten, wenn Sie nicht produktiv sind und die richtigen Mitarbeiter finden um es zu reparieren.

Fazit: Verwenden Sie es nur, wenn Sie es wirklich für das benötigen, was Sie tun, und stellen Sie sicher, dass Sie über ein umfangreiches IT-Budget verfügen, um es zu verwalten.


1

ClearCase ist perfekt verwendbar, wenn Sie bereit sind, zusätzlich ein anderes Versionskontrollsystem zu verwenden! Ich persönlich finde es ziemlich gut, Quecksilber auf CC zu verwenden.


1
  1. keine atomaren Checkins

Ab der neuen Version von Version 7.1 bietet CC das atomare Einchecken als Funktionalität, wenn Sie dies möchten. Persönlich würde ich es wirklich nicht wollen, aber anscheinend sehen einige Leute das als "ein wesentliches Merkmal". Ich würde NIEMALS eine große Masse auf einmal als eine Art massive Version wollen. Andererseits ... wenn Sie es wollen, schalten Sie es einfach ein.

also ... kein Streit mehr.


Ja, das würde mich sehr freuen. Aber wir haben kein Geld, um unsere CC-Version zu aktualisieren =)
Rorick

? Sie können das Update über das Internet herunterladen: 1) www-01.ibm.com/support/docview.wss?rs=984&uid=swg24025381 2) Hinweise zur Veröffentlichung : publib.boulder.ibm.com/infocenter/cchelp/v7r1m0/… oder automatisch über den Installationsmanager, Anweisungen: www-01.ibm.com/support/docview.wss?uid=swg21419099 oder meinst du "wir haben kein Geld, um unseren Sysop zu bezahlen, um eine Download- und Update-Aufgabe auszuführen"?
Edelwasser

1

Wir haben UCM ClearCase, das in ClearQuest (DR Tracking / Change Request System) integriert ist, in den letzten 4 Jahren mit mehr als 50 Entwicklern verwendet. Wir haben über 50 UCM-Projekte mit über tausend Streams, die über 35.000 DRs und Änderungsanforderungen verarbeitet haben. In diesem Zeitraum haben wir offiziell über 600 Integrationslieferungen durchgeführt und gleichzeitig bis zu 6 Entwicklungs- und Release-Bemühungen gleichzeitig durchgeführt.

Ich bin der Haupt-CM / ClearCase-Typ mit einem Backup, der in der Lage ist, die regulären Bereitstellungs- / Zusammenführungs- und Integrations-Builds durchzuführen. Das Netzwerk und die Server werden vom IT-Team unterstützt. Ich kann nur sagen, dass wir von der CM-Seite dieser enormen Entwicklungsanstrengungen praktisch keine Probleme hatten und nie ein Show-Stopper waren. Unsere Entwickler wurden nur mit den grundlegenden Dingen geschult und erhielten einfache Schritte, wenn auf Anfrage des Projektmanagements ein neues Projekt (Zweig) erstellt wurde.

Zu viele Entwickler haben sich über ClearCase beschwert, weil ihnen die richtige Unterstützung für CM / IT / ClearCase / Prozess / Management fehlt. Entwickler sollten sich auf die Entwicklung konzentrieren, nicht auf SCM, oder ein Werkzeugspezialist sein. Für eine große Softwareentwicklung sollten mindestens 5-7% des Budgets für CM- und Tool-Support ausgegeben werden.


0

Ausführen eines JDK von einem VOB unter Linux.

Probieren Sie es aus, Sie müssen mit der Variablen LD_PRELOAD spielen (ich weiß!)


0

der Punkt "es braucht eine engagierte Person" und "es ist kompliziert" etc ....

Das Hauptproblem bei der Suche nach diesem Problem besteht darin, dass Sie definieren müssen, ob die Konfigurationsverwaltung in Ihrer Organisation durchgeführt werden soll (dies ist NICHT die Versionsverwaltung). Konfigurationsmanagement ist wie Projektmanagement: Auch ohne ein Tool können Sie das Projektmanagement durchführen und ohne ein Tool können Sie das Konfigurationsmanagement durchführen. Viele Leute haben Schwierigkeiten, dies zu verstehen, und viele Leute denken, dass Configuration Management einem Tool gleichkommt, das Softwarequellen oder ähnliches versioniert (daher Vergleiche mit Subversionen oder anderen VERSION-Managementsystemen).

ClearCase ist eine Lösung, die für die Verwendung in einer Konfigurationsmanagementumgebung ERGO entwickelt wurde: Es gibt einen Konfigurationsmanager (genau wie "Es gibt einen Projektmanager").

Also ... wenn Ihrer Meinung nach diese engagierte Person da ist, um ein Werkzeug zu verwalten, denke ich, dass etwas sehr falsch ist. Meiner Meinung nach gibt es eine engagierte Person, die das Konfigurationsmanagement durchführt und aus Sicht des Endbenutzers nur dann auftaucht, wenn ein Problem mit dem Tool vorliegt, dies jedoch nur als 1% seiner Arbeit betrachtet.

Was Sie also tun müssen (wie in jedem anderen Softwareprojekt), kehren Sie zu Ihren Anforderungen zurück und stellen Sie eine Liste der Anforderungen zusammen, die sich auf die Anforderungen Ihres Unternehmens an das Konfigurationsmanagement beziehen. UND JA, wie in jedem anderen Softwareprojekt haben Sie Benutzer (wie z. B. Entwickler), die mit anderen Benutzern (wie z. B. Management) in bestimmten Anforderungen überhaupt nicht einverstanden sind. In einigen Reaktionen, die ich hier lese, liegt der Schlüssel imho.

Und meiner Meinung nach, wenn Sie die Organisationsliste der Anforderungen UND einen Konfigurationsmanager im Mix haben ... ist die Auswahl ziemlich klar (siehe auch das Forum auf www.cmcrossroads.com).

ClearCase ist nicht nur ein Tool für Endbenutzer, die ihre Quellen unter Versionskontrolle wie Subversion oder Git eingeben. Dies ist nur 1% der Gründe, warum ein Konfigurationsmanager wirklich ein ausgereiftes Konfigurationsmanagement-Tool wünscht.

Und ... Ich denke, die Wahl eines CM-Systems sollte niemals bei Entwicklern liegen, die der Wahl des richtigen Projektmanagement-Tools oder des richtigen CRM-Systems gleichkommen. Entwickler sind Endbenutzer eines bestimmten Teils der Funktionalität des Tools.


-1

Ich werde hier vielleicht alleine sein, aber ClearCase ist nicht so schlimm, wie alle sagen. Es kann riesig umgehen Repositories verwalten. Die dynamische Ansicht ist auch eine ziemlich coole und leistungsstarke Funktion. Es ist zuverlässig und kann durch Hinzufügen von Triggern und Einschränkungen auf Basis von Pef-Dateien, Berechtigungen usw. angepasst werden.

Leider hat es einen hohen Preis. Es ist kostspielig und für einen ordnungsgemäßen Betrieb muss es von einem dedizierten IT-Team ordnungsgemäß konfiguriert und gewartet werden. Es macht es wirklich gut für BigCo, aber keine so kluge Wahl für SmallFirm.

Ich bin ein großer Fan von DVCS und Git, kann aber verstehen, warum BigCo ClearCase anstelle von SVN und Git wählen sollte. Was ich nicht verstehen kann, warum sollte jemand SVN anstelle von Git wählen;>


-1

Dynamische Ansichten. Muss ein voll funktionsfähiges durchscheinendes Dateisystem bewundern.

Ein großer Vorteil ist, dass sich das geistige Eigentum immer im Unternehmensnetzwerk befindet. Ein Laptop kann verloren gehen / gestohlen werden und kein Quellcode ist gefährdet.

Ein weiterer Grund ist der sofortige Zugriff auf Quellcode und geänderte Dateien. Es wird nie Zeit darauf verwendet, etwas herunterzuladen.

Es dient gut für den Zweck, den es hat.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.