Frage

Ich helfe den SCM bekommen für ein neues Programm ins Leben gerufen, und wir sind gerade dabei, auf einem VCS entscheiden.

Die wichtigsten Anwärter an diesem Punkt sind SVN, Clearcase, SVN + DVCS, und nur ein DVCS.

Im Moment ist das Team in Richtung lehnt entweder SVN oder SVN + DVCS. Wir wollen die Kosten und Verwaltungskosten von Clearcase, vermeiden, aber die Workflow und Versions Optionen wollen es bietet. Ich brachte sie auf die Möglichkeit, eine DVCS sowie die Verwendung, und die Idee in Erwägung gezogen wird.

Für die DVCS, wir erwägen Mercurial, Basar, und Git. Das Team fühlt sich wohler mit SVN, aber glaube nicht, es wird die Vielseitigkeit bieten benötigt, weshalb wir an dem DVCS auf der SVN-Option an.

Hat jemand einen Rat (z bestehenden Instrumente, Prozesse) für das Erhalten einer solchen Einrichtung gehen?

Bedenken sind:

  • Einfache Einrichtung
  • Workflows einrichten (Entwicklungs <-> Code-Reviews -> Test -> Stamm, dann Stamm -> Integration Testzweig -> Release mit Bug-Fixes in die Release-Zweige setzen), Wirtschaftsprüfung (einen Fehler gefunden, wenn wurde es eingeführt )
  • Erstellen von Metriken
  • Angemessene Lernkurve für Entwickler zu Clearcase verwendet.
  • Windows-Entwicklung
  • Issue Tracker Integration (wahrscheinlich Redmine sein würde, wenn es nicht in Stein gemeißelt)
War es hilfreich?

Lösung

Als Administrator von Clearcase, ich würde dieses Werkzeug ausschließen, wenn Sie einen komplexen merge Workflow haben.

Die Workflow Sie erwähnen beinhaltet verzweigen zu können, reparieren und dann wieder zusammenführen leicht , die nicht für SVN sein.

Die größte Falle, wenn Sie Clearcase verwendet (espacially Nicht-UCM Clearcase) ist die „Komposition“ von einer Config-spec.
Wenn Sie eine DVCS (Mercurial, Bazaar wählen - oder Git, da es wirklich gut auf Windows funktioniert ), würden Sie nicht die Lage sein, den gleichen „Vererbungseffekt“ zu erhalten - (wenn Sie verschiedene Versionen mit unterschiedlichen aufeinanderfolgenden Auswahl Regeln der Auswahl werden - : wie in dieser Antwort, sagte:

  

In einem rein zentralen VCS, können Sie Ihren Arbeitsbereich (in Clearcase, Ihren „Ansicht“ entweder Schnappschuss oder dynamisch) definieren mit dem, was Regeln, die Sie wollen.
  Das wäre in einem DVCS nicht sinnvoll sein (wie in „Distributed.“): Wenn Sie einen Zweig mit ihm machen, Sie so mit einem Startpunkt und einen Inhalt klar definiert und leicht repliziert andere Repositories tun müssen,

Wenn Sie Clearcase UCM verwenden, die zusammenhängenden Sätze von Dateien bedeutet identifizieren, die nur durch erreicht werden kann - zum Beispiel - Git Submodule .
Die Komplexität ist höher mit diesem DVCS, da sie (oder „Satz von Dateien“), um die Art und Weise Clearcase UCM hat nicht die Abhängigkeiten zwischen den Modulen aufnehmen.

Also, zu rekapitulieren:

  • Einfache Einrichtung: alle genannten DVCS sind einfach zu installieren. Was muss berücksichtigt werden, ist die Verwaltung in Bezug auf den Benutzerzugriff.
  • Workflows einrichten: eine DVCS jede Art von Workflow unterstützt, auch in einem zentralisierten Lösung oder einen öffentlich-private ein, oder .... In Bezug auf einen Fehler zu finden, sie alle unterstützen eine Art von bisect Prozess .
  • Metriken generieren. Wenn durch, dass Sie „Metriken über den verwalteten Code“ bedeuten, sie alle eine komplette Log System in der Lage, eine Vielzahl von Informationen über Anzeigen unterstützen, was hat sich geändert
    Aber in der Bezeichnung der „Metriken über das Tool“ (Geschwindigkeit eines Prozesses oder Raum, der durch Daten genommen), erwähnten die DVCS Werkzeuge angesehen werden viel schneller als SVN (siehe hier als Beispiel ).
  • Angemessene Lernkurve für Entwickler zu Clearcase: Die GUI kann ein Faktor sein, um die Lernkurve zu lindern, aber ein DVCS ist sehr verschieden von Clearcase, da dies „ Kernkonzepte " Antwort zeigt.
  • Windows-Entwicklung: sie alle gut auf die Windows-Plattform arbeiten, mit vielleicht einem leichten Vorteil (bessere Integration) zu Mercurial oder Bazaar
  • .
  • Issue Tracker Integration (wahrscheinlich Redmine sein würde, wenn es nicht in Stein gemeißelt): Redmine unterstützt nun die meisten von ihnen (und nicht nur SVN, wie es am Anfang tat)

Andere Tipps

Was ist das Problem mit Git? Ich verwende Git auf Windows jetzt. Es funktioniert ganz gut. Git Extensions sehr nützlich ist, wenn Sie einige Explorer Integration erhalten möchten, ob Ihr Problem ist.

Ich habe keine Erfahrung mit Clearcase, aber hoffentlich die folgenden werden einige helfen. Ihre Frage auslässt mehrere Stücke von Informationen, die ich berücksichtigen, bevor sie entscheidet nehmen würde. Erstens, wie viel Quellcode haben Sie? Während SVN auf mittlere bis große Projekte für die wirklich großen diejenigen gut ist wie der Linux-Kernel Git wird eine deutlich bessere Leistung bieten. Zweitens, was IDE verwenden Sie? Während Mercurial, Git und SVN haben alle Visual Studio und Plug-ins gibt sehr Qualität Eclipse. Nach dem Wikipedia-Artikel über Redmine jeder der SCM-Systeme betrachten Sie werden integrieren. Der folgende Blog kann hilfreich sein für Sie da sein geschrieben einen Mann kaufen, die ein SCM-System für ein Leben schreibt. http://www.ericsink.com/

Wenn Sie die Anforderung fallen könnten, die es unter Windows ausgeführt werden muss, dann würde ich empfehlen, der unter Aegis .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top