Netencyclo, The wikipedia mirror - Enzyklopädie : Versionsverwaltung

- Versionsverwaltung -

Versionsverwaltung :

femme russe

Versionsverwaltung

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche
Redundanz
Die Artikel Version (Software), Versionsnummer, Versionierung und Versionsverwaltung überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Bitte äußere dich in der Diskussion über diese Überschneidungen, bevor du diesen Baustein entfernst. YMS (Diskussion) 23:38, 6. Mär. 2008 (CET)

Unter einer Versionsverwaltung versteht man ein System, welches typischerweise in der Softwareentwicklung zur Versionierung und um den gemeinsamen Zugriff auf Quelltexte zu kontrollieren, eingesetzt wird. Hierzu werden alle laufenden Änderungen erfasst und alle Versionsstände der Dateien in einem Archiv mit Zeitstempel und Benutzerkennung gesichert. Die Versionsverwaltung ist eine Form des Variantenmanagements. Die übergreifende Disziplin ist das Software Configuration Management (SCM).

Es wird sichergestellt, dass jeder Benutzer mit dem aktuellen Stand arbeitet oder auf Wunsch auf die archivierten Stände zugreifen kann. Dadurch ist eine Versionsverwaltung nicht nur für professionelle Entwickler in großen Teams, sondern auch für einzelne Entwickler interessant. Es kann jederzeit eine ältere Version aufgerufen werden, falls eine Änderung nicht funktioniert und man sich nicht mehr sicher ist, was nun alles geändert wurde.

Ein Beispiel ist auch die Wikipedia: Hier erzeugt die Software nach jeder Änderung eines Artikels eine neue Version. Da zu jedem Versionswechsel die grundlegenden Angaben wie Verfasser und Uhrzeit festgehalten werden, kann jeder genau nachvollziehen, wer wann was geändert hat. Bei Bedarf – beispielsweise bei versehentlichen Änderungen – kann man zu einer früheren Version zurückkehren.

Auch in technischen Zeichnungen werden Versionen zum Beispiel durch einen Änderungsindex verwaltet.

Für Versionsverwaltungssysteme sind die Abkürzungen VCS (Version Control System) oder SCM (Source Code/Control Managementsystem) gebräuchlich.

Inhaltsverzeichnis

[Bearbeiten] Systemaufbau

Das zentrale Archiv wird als Repository (engl. Behälter, Aufbewahrungsort) bezeichnet. Die meisten Systeme verwenden hierfür ein eigenes Dateiformat (oder eine Datenbank). Die Versionsverwaltungssoftware speichert dabei üblicherweise nur die Unterschiede zwischen zwei Versionen, um Speicherplatz zu sparen. Dadurch kann eine große Zahl von Versionen archiviert werden. Durch dieses Speicherformat kann jedoch nur mit der Software des Versionsverwaltungssystems auf die Daten zugegriffen werden, die die gewünschte Version bei einem Abruf unmittelbar aus den archivierten Versionen rekonstruiert. Solche Software ist häufig als Client-Server-System aufgebaut, sodass der Zugriff auf ein Repository auch über Netzwerk erfolgen kann.

Theoretisch lässt sich jedes Dokument versionieren. In der Praxis jedoch werden die komplizierten Verfahren der Versionskontrolle nur selten außerhalb der Softwareentwicklung eingesetzt. Damit die in der Softwareentwicklung eingesetzten Programme wie z. B. Compiler mit den im Repository abgelegten Dateien arbeiten können, ist es erforderlich, dass jeder Entwickler sich den aktuellen (oder einen älteren) Stand des Projektes in Form eines Verzeichnisbaumes aus herkömmlichen Dateien erzeugen kann. Ein solcher Verzeichnisbaum wird als Arbeitskopie bezeichnet. Ein wichtiger Teil des Versionsverwaltungssystems ist ein Programm, das in der Lage ist, diese Arbeitskopie mit den Daten des Repositorys zu synchronisieren. Das Übertragen einer Version aus dem Repository in die Arbeitskopie wird als Checkout oder Aktualisieren bezeichnet, während die umgekehrte Übertragung Check-in oder Commit genannt wird. Solche Programme sind entweder kommandozeilenorientiert, mit grafischer Benutzeroberfläche oder als Plugin für integrierte Softwareentwicklungsumgebungen ausgeführt. Häufig werden mehrere dieser verschiedenen Zugriffsmöglichkeiten wahlweise bereitgestellt.

[Bearbeiten] Hauptaufgaben eines Versionsverwaltungssystems

[Bearbeiten] Arbeitsweisen der Versionsverwaltung

[Bearbeiten] Lock Modify Write

Dies ist die traditionelle Arbeitsweise eines Versionsverwaltungssystems und wird auch als Lock Modify Unlock bezeichnet. Die zugrundeliegende Philosophie wird auch Pessimistic Revision Control (engl., Pessimistische Versionskontrolle) genannt. Einzelne Dateien müssen vor einer Änderung durch den Benutzer gesperrt und nach Abschluss der Änderung wieder freigegeben werden. Während sie gesperrt sind, verhindert das System Änderungen anderer Benutzer. Bekanntester und ältester Vertreter dieser Arbeitsweise ist das Revision Control System (kurz: RCS) von Walter F. Tichy.

[Bearbeiten] Copy Modify Merge

Ein solches System lässt gleichzeitige Änderungen mehrerer Benutzer an einer Datei zu. Anschließend werden diese Änderungen automatisch oder manuell zusammengeführt (Merge). Somit wird die Arbeit des Entwicklers wesentlich erleichtert, da Änderungen nicht im Voraus angekündigt werden müssen. Insbesondere, wenn mehrere Entwickler räumlich getrennt arbeiten, wie es beispielsweise bei Open-Source Projekten der Fall ist, ermöglicht dies deutlich flüssigeres Arbeiten. Die zugrundeliegende Philosophie wird als Optimistic Revision Control (engl., Optimistische Versionskontrolle) bezeichnet und wurde entwickelt, um die Schwächen der Pessimistic Revision Control (engl., Pessimistische Versionskontrolle) zu beheben. Bekanntester Vertreter ist das Concurrent Versions System (kurz: CVS). Subversion (kurz: SVN) wurde als Alternative und zur Ablösung von CVS entwickelt.

[Bearbeiten] Branching und Tagging

Die Entwicklung komplexer Software erfordert fast zwangsläufig eine Strategie von Branching und Tagging:

[Bearbeiten] Verteilte Versionsverwaltung

Eine verteilte Versionsverwaltung ist eine Versionsverwaltung, die kein zentrales Repository hat. Jeder, der an dem verwalteten Projekt arbeitet, hat sein eigenes Repository und kann dieses mit jedem beliebigen anderen Repository abgleichen.

Im Gegensatz zur traditionellen Versionsverwaltung, kommt es nicht zu einem Konflikt, wenn mehrere Benutzer dieselbe Version ändern. Die sich widersprechenden Versionen können zunächst einfach parallel existieren und auch noch weiter geändert werden. Sie können später in eine neue Version zusammengeführt werden. Dadurch entsteht ein gerichteter azyklischer Graph anstatt einer Kette von Versionen. Unter anderem setzen Bazaar, Darcs, Git sowie Mercurial dieses Konzept um.

[Bearbeiten] Übersicht über Versionsmanagementsysteme

[Bearbeiten] Open Source

[Bearbeiten] Closed Source

[Bearbeiten] Nach Programmiersprache sortiert

[Bearbeiten] Siehe auch


[Bearbeiten] Weblinks

Versionsverwaltung - Artikel des Tages

Anna Akhmatova et Marina Tsvetaeva

Deux femmes russes poètes prises au coeur de la tourmente russe du début du siècle, deux femmes russes reclues dans leur oeuvre face à un monde hostile. Ces deux femmes russes sont le visage de la Russie ancienne et moderne.

Femme russe Versionsverwaltung - In den Nachrichten

"Qu'une femme russe vaut bien plus, en somme que les hommes russes qui se battent, et que leur chagrin pour les hommes me fait aimer les femmes russes ici-bas."

© 2008 Netencyclo - Netencyclo Hauptseite - Datenschutz - Impressum - Program Policies
Netencyclo, the Wikipedia mirror : the biggest multilingual free-content encyclopedia on the Internet. Diese Artikel wurde zuletzt am 16. Mai 2007 um 23:12 Uhr geändert. Ihr Inhalt steht unter der GNU-Lizenz für freie Dokumentation. All Wikipedia content is licensed under the GNU Free Documentation License (see details). Content on this web site is provided for informational purposes only. We accept no responsibility for any loss, injury or inconvenience sustained by any person resulting from information published on this site. We encourage you to verify any critical information with the relevant authorities.