3 - SVN [ID:31007]
50 von 112 angezeigt

Im Folgenden wollen wir euch erzählen, was ein Versionsverwaltungssystem ist und wie

es euch bei eurer Arbeit unterstützen kann.

Dazu folgendes fiktives Beispiel.

Stellen wir uns mal vor, wir haben zwei verschiedene Personen, einmal Alice, einmal Bob, die an

einem gemeinsamen Projekt arbeiten wollen.

Und dazu wollen sie beide eine Datei mit dem Inhalt A bearbeiten.

Im ersten Schritt gehen beide her und nehmen z.B. von einem zentralen Server eine Kopie

der Datei.

Jetzt arbeiten beide unabhängig voneinander an ihrer lokalen Kopie und ändern sie.

Wenn jetzt Alice z.B. ihre Kopie zurück auf den Server schieben möchte, einfach damit

diese gespeichert ist, hat Bob ein Problem, wenn er seine eigenen Änderungen ebenfalls

abspeichern möchte, nämlich würde er jetzt unbemerkt die Kopie von Alice überschreiben.

Um dieses Problem zu umgehen, können wir ein Versionsverwaltungssystem nutzen, das zu jeder

Datei eine Versionsnummer assoziiert.

In dem Beispiel hat die Datei mit dem Inhalt A die Versionsnummer 1.

Wenn sich jetzt Alice und Bob jeweils eine Kopie der Datei ziehen, haben sie ebenfalls

eine Datei mit der Versionsnummer 1.

An dieser Datei können sie jetzt lokal arbeiten.

Z.B. schreibt Alice in die Datei A B und Bob C A.

Wenn Alice jetzt soweit mit ihren Änderungen fertig ist und die Datei wieder zurück auf

den Server speichern möchte, dann führt sie ein Commit aus.

Und dabei prüft das Versionsverwaltungssystem, ob die Versionsnummer noch identisch ist.

Das bedeutet, hier merkt das Versionsverwaltungssystem, dass die Datei immer noch die Versionsnummer

1 hat und lässt die Änderungen zu.

Dabei wird die jetzt die Versionsnummer um 1 inkrementiert.

Das heißt, ab jetzt ist die Datei mit der Versionsnummer 2 verfügbar.

An der Stelle hat Bob aber immer noch eine Datei mit der Versionsnummer 1.

Und wenn er jetzt hat versucht, sein Inhalt der Datei auf dem Server zu speichern, wird

die Versionsverwaltung merken, dass die Datei einmal in der Version 2 verfügbar ist.

Bob aber versucht, die Version 1 zu speichern.

Damit kommt es zu einem Konflikt.

Und es wurde verhindert, dass die Datei fehlerhaft überschrieben würde.

Der so entstandene Konflikt muss jetzt aber lokal gelöst werden.

Das bedeutet, dass Bob hergehen muss und sich vom Versionsverwaltungssystem den aktuellen

Stand der Datei lokal kopieren muss, indem er ein Update ausführt.

Und jetzt hat beide Versionen, einmal die von Alice und einmal seine eigene Version,

in eine dritte Version zusammenführen muss, der sogenannte Merge.

Sobald Bob das gemacht hat, hat er ebenfalls eine Datei mit der Versionsnummer 2.

Dieser kann er jetzt wieder in die Versionsverwaltung zurückführen.

Und die Versionsverwaltung wird für die Datei eine neue Versionsnummer vergeben.

Die Versionsverwaltung, die wir in Systemprogrammierung nutzen, ist SVN.

Mit SVN können sowohl Dateien als auch Verzeichnisse verwaltet werden.

Dazu werden zu jeder Änderung noch weitere Daten mit abgespeichert.

Zum einen der Autor der Änderung, wann die Änderung geschehen ist und ein Kommentar,

der im besten Fall durch den Autor verfasst wird und beschreibt, was die Änderung bezweckt.

Eine ausführliche Dokumentation über SVN ist unter dem hier genannten Link verfügbar.

Es sei noch angemerkt, dass das SP-Abgabesystem auf SVN basiert.

Hier eine kurze Übersicht der Begriffe, die im Zusammenhang mit SVN wichtig sind.

Wir haben auf der einen Seite unser Repository, ein zentrales Archiv, auf dem alle Versionen

der Dateien gespeichert sind.

Teil einer Videoserie :
Teil eines Kapitels:
Einführung

Zugänglich über

Offener Zugang

Dauer

00:08:16 Min

Aufnahmedatum

2021-04-14

Hochgeladen am

2021-04-15 00:56:38

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen