Migration von Clearcase weg

8

Wir migrieren von Clearcase zu einem anderen VCS (wahrscheinlich entweder SVN oder Mercurial). Für Unternehmen, die diesen Übergang gemacht haben, welche Faktoren haben sie bei der Auswahl eines anderen VCS-Tools für wichtig erachtet, und welche Praktiken haben sie gefunden, die den Übergang erleichtert haben?

    
John Clark 06.08.2009, 15:22
quelle

7 Antworten

3

SVN und Mercurial sind beide gute SCM. Viele Opensource-Projekte verwenden sie. Wenn sich Ihre Wahl auf diese beiden beschränkt, dann müssen Sie und Ihr Team Folgendes beachten:

Workflow und Workflow

Wie wollen Sie die Commits und Verzweigungen machen? Verteilt oder rein zentralisiert? Dies hängt auch mit der Unternehmensrichtlinie zusammen. Gehen Sie mit SVN, wenn Sie möchten, dass alles zentralisiert wird. Aber das bedeutet nicht, dass Sie kein zentrales Repository mit Mercurial haben können. Es ist sehr vorteilhaft, wenn Ihr Team DVCS wie Mercurial wählt, weil:

  • Jeder hat seine eigene lokale Kopie. Dies ermöglicht es ihnen, von zu Hause aus zu arbeiten und lokale Commits zu machen
  • Jeder kann lokale Verzweigungen auf seinem lokalen Rechner ausführen. Fürchten Sie nicht, dass Revisionen verschmelzen, Mercurial hat eine gute Unterstützung beim Zusammenführen und ist relativ einfach im Vergleich zu SVN.
  • Nicht jeder muss Zugang haben, denn Sie können jemanden zum Gatekeeper ernennen, der die Revision von der Maschine eines anderen Entwicklers abzieht. Auf diese Weise können Sie Code-Überprüfungen durchführen, bevor Sie den Code an das zentrale Repository senden.

Abgesehen davon sind beide wirklich gut, denn beide haben gute (genug) Leistung, gute Windows-Unterstützung ( SVN , Hg ) und gute Dokumentation / Buch ( SVN , Hg ).

    
Joshua Partogi 07.08.2009 23:41
quelle
3

Ein paar hinzuzufügen sind:

  • Performance: langsame Entwicklungswerkzeuge unterbrechen die Denkprozesse der Entwickler
  • Power (Funktionalität): Wie gut verschmilzt es? Neuere Tools wie Git haben viel bessere Merge-Unterstützung und Tracking als alte Tools wie CVS und SVN. Git bietet auch sehr handliche Tools wie zum Beispiel halsect, die den Entwicklungsprozess beschleunigen.
  • Gemeinschaftliche Unterstützung: Wie weit ist das Tool akzeptiert? Sie wollen nicht etwas auswählen, das fünf Jahre später am Spielfeldrand stehen wird.
Don Branson 07.08.2009 11:39
quelle
2

Sie müssen mehrere Kriterien berücksichtigen wie:

  • Welche Art von Datenrichtlinie können Sie unterstützen (strenges zentrales Repository, wobei nur ein Teil davon im Entwicklerarbeitsbereich geladen ist, dh SVN)
  • zentrale oder dezentrale Repositorien mit vollständiger History dupliziert? (DVCS wie Mercurial oder Git)
  • Welche Art von Merge-Workflow werden Sie wahrscheinlich verfolgen (lange-libed-Zweige mit komplexen Zusammenführungen oder häufige Umbenennung)

Im Hinblick auf Migration (zu SVN oder Mercurial), es wird einfacher sein, wenn Sie ClearCase UCM verwenden, da die Baselines eine klare "Timeline" (engste Analogie zu "Revision") darstellen, die Sie zum Importieren in Ihr anderes (D) VCS verwenden können.
Wenn nicht (Base ClearCase), müssen Sie überlegen, welchen Teil des Verlaufs Sie wirklich importieren müssen.

    
VonC 06.08.2009 16:36
quelle
2

Im Allgemeinen würde ich immer mit dem verteilten Versionskontrollsystem (DVCS) gehen. Ich habe nicht mercurial, sondern git versucht; aber die Prämisse hier ist die gleiche.

Wenn Sie ein zentralisiertes System verwenden, sind Sie an diese Struktur gebunden. Wenn Sie ein verteiltes System verwenden, sind Sie es nicht. Aber nur weil Sie es verteilen können, müssen Sie nicht. Wenn es in Ihrem Team sinnvoller ist, ein zentrales Repository zu haben, dann tun Sie es auf diese Weise.

Was Sie nicht unterschätzen sollten, ist die Macht der lokalen Niederlassungen. Die Verzweigung in einem zentralisierten System ist ziemlich umständlich, Entwickler oder Funktionszweige werden selten gemacht. Entwickler haben lieber mehrere Arbeitskopien oder behalten unsichere Änderungen in ihrer Arbeitskopie, um den Build nicht zu unterbrechen. Bei einem dezentralen System erstellt der Entwickler lokale Zweigwerke darauf. Unterbrochen von einem show-stopper-Fehler, schaltet er zurück zum Master-Zweig, behebt das Problem, schiebt die Änderungen in das zentrale Repository und wechselt zurück in seinen Feature-Zweig. Der Workflow ist extrem reibungslos.

Zusätzlich macht die verteilte Natur des Systems es zu einem robusten. Wenn der Server ausgefallen ist, ist es für die Entwickler wie gewohnt, sie können sogar ihre Änderungen untereinander austauschen.

Endlich können die Entwickler die Arbeit nach Hause nehmen, im Flugzeug, im Zug oder wo sie wollen. Sie verlieren niemals die VCS-Fähigkeit und können ordnungsgemäße Commits vornehmen.

Das Ergebnis ist, dass das Verhalten der Entwickler in Bezug auf das VCS durch die Unternehmensrichtlinien und nicht durch die Technologie definiert wird und Sie Ihre Richtlinien jederzeit ändern können.

    
rioki 24.09.2009 08:18
quelle
1

Drittanbieter-Support Verfügt das System über einen ausgereiften SCC-Anbieter für Visual Studio? (SVN ja, Hg ist nicht reif).

Eclipse? Beide haben gute Unterstützung.

Sind Ihre Entwickler Command-Line-Kommandos? Dann können Support / Plugins von Drittanbietern kein Problem sein.

    
Garen 05.09.2009 23:57
quelle
1

Wenn Sie vom guten alten Clearcase abwandern ;-) Werfen Sie einen kurzen Blick auf Plastic SCM. Die meisten grundlegenden Konzepte werden immer noch da sein, aber all die schmerzhaften Teile sind weg. Und es ist verteilt. Überprüfen Sie den folgenden Link: Ссылка

    
pablo 19.03.2010 23:56
quelle
1

Das ist ein alter Thread, aber ich wollte etwas beitragen. IMO, SVN hat seinen Kurs ausgeführt. Nun, in Fairness, wenn Sie etwa 50 Benutzer haben und nicht viel verzweigen, dann ist es sicher nicht schlechter als CC. So alt wie CC ist und so komplex wie es ist, hat es immer noch eine Menge ausgereifte Funktionalität. Wenn Sie also ein reifer CC-Shop sind, wird SVN Ihre Anforderungen nicht erfüllen. In der Tat ist es eine gute Übung, weniger zu verzweigen und den Hauptstamm abzubauen. Also wäre eine bessere Wahl (angesichts der oben genannten Möglichkeiten) Hg. Außerdem bin ich voreingenommen gegenüber dvcs. true dvcs das ist ... und es gibt nur 2 OSS-Optionen: Hg und Git. und derzeit ein kommerzielles System, Kunststoff scm. Wenn Sie es gewohnt sind, Ihre Dateihistorie visuell darzustellen (vtree-Browser oder Komponentenbaum-Browser in CC UCM, denken Sie, dass es so genannt wurde), ist Plastik möglicherweise eine praktikablere Wahl. Wie ich gesehen habe, hat es den grafischen vtree und etwas anderes, wie den Zweigbaum-Explorer. Ich erinnere mich daran, CC zu unterstützen, wo sich viele von uns am Whiteboard abwechselten und das "Prozess" -Modell herauszogen. Kunststoff hat es eingebaut. wie auch immer, ich bin wieder voreingenommen gegenüber dvcs ... ich habe genug mit svn und cc gelitten und versucht, teure replikations-tools und mastership scripting zu verwenden. DVCs ist so einfach! Wenn Sie ein Hardnose-Linux / Unix-Entwickler sind, könnte Git eine bessere Wahl sein. Wenn mehr Fenster oder eine Mischung vorhanden sind, sehen Hg und Plastic besser aus. mehr Grafiken und Visuals mit Plastik. Ich denke Hg vermisst eine Menge der Erlaubnis und Zugriffskontrollen, die Sie mit CC gewohnt sind ... also könnte Kunststoff hier die Kante haben. hoffe das hilft und viel Glück!

    
jimmy2pinz 28.10.2010 04:47
quelle

Tags und Links