Versionsverwaltungen fuer Quellcode

In meiner beginnenden "Laufbahn" als Diplom-Informatiker (alle Prüfungen vorbei) bin ich mit verschiedenen Versionsverwaltungen in Berührung gekommen. Das reicht von Chaos und manuellem Herumkopieren über CVS bis hin zu Subversion. Letzteres kenne ich eigentlich am Besten, da ich selbst Repositories damit verwaltet habe. Nicht vergessen darf man auch Mercurial (benutzt Sun für Java), Visual SourceSafe (Microsoft), ClearCase (IBM) und BitKeeper (BitMover Inc.).
Allen Systemen gemein, egal ob OpenSource oder nicht, ist das Client-Server-Modell. Da wäre aber noch Git (und Monotone, auf dessen Idee Git teilweise basiert). Nicht zuletzt wegen Lizenzstreitigkeiten hat Torvalds 2005 die Verwaltung des Linux-Kernels von BitKeeper auf Git umgestellt. Nein, umgestellt ist das falsche Wort. Er hat Git ersteinmal programmieren müssen! In nicht einmal vier Jahren hat sich Git zu einem ausgewachsenen Versionsveraltungssystem für Quellcode entwickelt. Und immer mehr große OpenSource-Projekte steigen darauf um, zuletzt Gnome. Die wichtigsten Features sind:

  • Verteilte Entwicklung (Abkehr vom Client-Server-Prinzip)
  • Die Vergangenheit des Projekts ist kryptografisch gesichert
  • Es gibt schöne grafische Tools, um diese Vergangenheit zu visualisieren

Git lief nativ erst einmal nur unter *NIX-System, seit gut einem Jahr gibt es mit msysgit auch eine Windows-Version, unabhängig von Cygwin.
Ich will keinesfalls sagen, dass Subversion damit gestorben ist. Es gibt sogar vereinzelt immer noch CVS-Projekte. Der verteilte Ansatz scheint jedoch so viele Vorteile, vor allem bei der Performance zu bieten, dass hier ein echter Konkurrent entstanden ist.

Add comment März 21st, 2009

Source Code Repository Tracking, Subversion und CVS mit FishEye

FishEye ist ein freies Tool zur grafischen Aufbereitung von Quellcodeversionsverwaltungen. Namentlich unterstützt werden Subversion und CVS. Mit einer mächtigen Suchfunktion, RSS Feeds zu Updates und ausführlichen Statistiken bietet es völlig neue Einblicke in das eigene Repository.

2 comments Juni 19th, 2006