ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Versionsverwaltung

Häufig arbeiten mehrere Leute zusammen an einem Projekt. Um dabei die Übersicht zu behalten und die Änderungen der Einzelnen gut miteinander kombinieren zu können, wird in den allermeisten Fällen eine Versionsverwaltung (englisch: "Source-Code-Management-System") eingesetzt. Auch für einen einzelnen Entwickler kann eine Übersicht über die Entwicklung seines Projektes sinnvoll sein.

Während es früher nur zentrale Systeme gab, wie z.B. Subversion, sind in den letzten Jahre dezentrale System wie Git oder Bazaar in den Vordergrund gerückt.

Übersicht der Management-Systeme

Eine gute Übersicht zu den verfügbaren Systemen gibt es bei better-scm 🇬🇧. Es folgt eine kurze Liste der Systeme, die in den offiziellen Paketquellen vorliegen. Dabei werden zuerst Systeme aufgeführt, zu denen es hier im Wiki bereits Artikel gibt.

Name Paket Erläuterungen
Bazaar bzr Bazaar ist ein von Canonical, dem Sponsor von Ubuntu, entwickeltes System zur Versionsverwaltung von Dateien. Dabei ist es eine gute Alternative zu Programmen wie Subversion. Eingesetzt wird es derzeit vor allem bei Launchpad 🇬🇧.
Git git Ein dezentrales Kontrollsystem, das unter anderem für den Linux-Kernel und vom Xfce-Projekt verwendet wird.
Mercurial mercurial (universe) Verteiltes System, das auf Geschwindigkeit getrimmt ist. Leicht zu benutzen, die meisten Befehle sind CVS Benutzern vertraut.
Subversion subversion Subversion ist ein Verwaltungssystem mit zentralem Projektarchiv.
Aegis 🇬🇧 aegis (universe) Schwerpunkt auf Projektarbeit im Team. Es arbeitet gut mit anderen Programmen wie Make zusammen und stellt eine Möglichkeit zur Verfügung den Code Tests zu unterziehen, bevor er tatsächlich übernommen wird. Eine Prämisse ist eine zu jedem Zeitpunkt funktionierende "Baseline". Außerdem wird Wert auf Sicherheit gelegt.
GNU arch 🇬🇧 tla (universe) ist ein verteiltes System und die Grundlage oder Inspiration für viele andere Versionskontrollsysteme. Es ist jedoch recht komplex in der Handhabung, und wurde von Gnu Bazaar abgelöst.
darcs 🇬🇧 darcs (universe) ebenfalls ein verteiltes Management System. Es basiert auf der "Theory of Patches" 🇬🇧 , die ein mathematisches Modell für die Änderungen im Code darstellt. Dementsprechend gibt es eigentlich keine "Versionen" an sich sondern nur Sammlungen von "patches". Diese Patches sind nicht an die einzelnen Dateien gebunden, sondern basieren immer auf dem gesamten Archiv.
Monotone 🇬🇧 monotone (universe) In Monotone werden die Änderungen gesammelt, und jeder Entwickler kann sich die Änderungen, die er braucht "aussuchen".
svk 🇬🇧 svk (universe) basiert auf Subversion und hat zum Ziel, die Vorteile der Verteilten Systeme mit diesem zu kombinieren.

Diese Liste ist sicherlich nicht komplett, aber sie stellt einen recht guten Ausgangspunkt für eigene Erkundungen dar. Schließlich noch einige Kommentare 🇬🇧 zu den verschiedenen Systemen (leider nur in Englisch).

Übersicht über graphische Oberflächen

Es folgt eine Liste von graphischen Oberflächen, die hier zusammengetragen werden können. Jeweils unter Angabe des zugrunde liegenden Systems (Backend), und falls ein Paket in den Ubuntu-Repositorys zu finden ist, wie dieses heißt, und wo es zu finden ist.

Name Frontend für Paket Website
Cervisia CVS cervisia (universe) Cervisia 🇬🇧
ecCVS CVS - ecCVS 🇬🇧
LinCVS CVS lincvs ( multiverse) LinCVS 🇬🇧
RapidSVN Subversion rapidsvn (universe) RapidSVN 🇬🇧
TkCVS CVS tkcvs (universe) TkCVS 🇬🇧
kdesvn Subversion kdesvn (universe) Kdesvn 🇬🇧
PySVN Workbench Subversion svn-workbench (universe) WorkBench 🇬🇧
Nautilus SVN-Script Subversion nautilus-script-collection-svn (universe) Nautilus Scripts for Subversion 🇬🇧
RabbitVCS Subversion rabbitvcs (RabbitVCS-Team-PPA) http://rabbitvcs.org/ 🇬🇧
Bzr-Gtk Bazaar bzr-gtk (universe) bzr-gtk 🇬🇧
QCT GUI commit tool Mercurial, Subversion qct (universe) qct 🇬🇧
Bazaar Explorer Bazaar bzr-explorer (universe) Bazaar Explorer 🇬🇧

Cervisia

⚓︎ Cervisia ist die graphische Oberfläche zu CVS, die in KDE integriert ist.

ecCVS

⚓︎ ecCVS ist ein graphisches Frontend für CVS, das seinen Schwerpunkt auf eine einfache und intuitive Benutzeroberfläche legt. Es richtet sich vor allem an Einsteiger. Die Oberfläche ist einem allgemeinen Dateibrowser wie dem Nautilus sehr ähnlich.

Installation

Leider gibt es von ecCVS kein Ubuntu-Paket, man muss sich das Programm also selbst installieren. Herunterladen lässt es sich von der Downloadseite 🇬🇧 . Die Vorgehensweise zur Installation von Programmen, die im Quellcode vorliegen wird in Programme kompilieren beschrieben. Danach findet sich ecCVS im GNOME-Menü unter "Anwendungen → Entwicklung → eccvs".

LinCVS

⚓︎ LinCVS ist ein leistungsfähiger, intuitiv zu bedienender CVS-Client auf der Unix- (Linux, *BSD), Windows- und Mac OS X-Plattform. LinCVS deckt nahezu den gesamten Befehlsumfang von CVS ab. Viele Projekte lassen sich parallel verwalten, Branchen und Mergen wird zum transparenten und nachvollziehbaren Prozess. Entsprechend eingesetzt lassen sich Arbeitsprozesse beschleunigen und der Aufwand zur Sourcecode-Verwaltung wird auf das Notwendige reduziert.

RapidSVN

⚓︎ RapidSVN ist ein graphischer Client für Subversion, mit den Ansprüchen

  • einfach (stellt ein einfaches Interface für die Subversion Funktionen zur Verfügung)

  • effizient (leicht für Einsteiger, aber flexibel genug um die Produktivität erfahrener Anwender zu erhöhen)

  • und schnell (es ist komplett in C++ geschrieben und verwendet das wxWidgets 🇬🇧 Toolkit)

zu sein.

TkCVS

⚓︎ TkCVS/TkSVN stellt ein weiteres graphisches Frontend für CVS dar. In der neuen Version 8 unterstützt es neben CVS auch Subversion. Es ist in den Ubuntu-Paketquellen zu finden.

Weitere Hilfsmittel

  • Gobby ist ein kollaborativer Editor, der sich sehr gut für die gleichzeitige Arbeit an einem Dokument eignet.

  • Tailor 🇬🇧 ermöglicht es, Änderungen zwischen verschiedenen Versions-Systemen auszutauschen beziehungsweise ganze Archive zu konvertieren. Es liegt als Paket tailor (universe) vor.

  • Gitolite - Verwaltung eines Git-Servers

  • gource: 🇬🇧 - Git, SVN, Mercurial und Bazaar grafisch visualisieren

Diese Revision wurde am 20. August 2016 11:48 von HmpfCBR erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Programmierung, Versionsverwaltung