SVN - COGA

Transcription

SVN - COGA
Versionsverwaltung mit SVN
Jan-Philipp Kappmeier
Technische Universität Berlin
11. 04. 2012
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Versionsverwaltung
Typische Situation in der Softwareentwicklung
Mehrere Personen arbeiten an einem Projekt
Arbeiten gleichzeitig
Änderungen müssen eventuell rückgängig gemacht werden
Einige Features sollen nur Probeweise implementiert werden
Es treten Fehler auf, und keiner will es gewesen sein
á Geeignetes Hilfsmittel: Versionsverwaltung
Beispiel
Wikipedia
Linux-Kernel
Google Summer of Code
2 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Versionsverwaltung forts.
Der aktuelle Stand des Projektes ist in einem Repository (Lager)
gespeichert
Jeder Nutzer hat eine lokale Kopie zum Arbeiten
Wenn der Nutzer mit seinen Änderungen zufrieden ist, kann er sie in
das Repository einchecken (commit)
Jeder nutzer kann seine lokale Kopie auf den neuesten Stand
bringen (update)
Beispiel
Zentrale Systeme:
CVS (alt)
Subversion (SVN)
Verteilte Systeme:
Mercurial, Git
3 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Funktionsweise von SVN
Unabhängige Verwaltung jeder Datei im Projekt
Alle eingecheckten Versionen jeder Datei werden archiviert
Mehrere Benutzer können (in ihren Kopieen) gleichzeitig am
gleichen Projekt (auch Datei) arbeiten
Repository zählt Versionsnummern.
Wachsen bei jedem Einchecken, Dateien mit höheren Nummern
sind aktueller
Arbeitszyklus
1
Update auf die aktuellste Version
2
Bearbeiten der Dateien
3
Einchecken der Änderungen ins Repository (Achtung, nur
Source-Dateien!)
4 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Versionskonflikte
1
Radikale Lösung: Änderungen eines Benutzers verwerfen
2
Vergleichen und Mischen der Dateien
Möglich, wenn zwei Benutzer jeweils eine neue Funktion
geschrieben haben
á SVN enthält ein Merge-Tool das in den meisten Fällen automatisch die
Dateiversionen mischt
5 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
SVN-Software
SVN-Kommandozeile
http://subversion.apache.org/
Tortoise
Windows-Software mit Einbindung in Explorer
http://tortoisesvn.net/
SmartSVN
SVN-Client für verschiedene Betriebssysteme
http://www.syntevo.com/smartsvn/
6 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
SVN mit Eclipse
Um eine erste lokale Kopie zu erhalten, muss ein Projekt
ausgecheckt werden
In Eclipse wird SVN mit dem Plugin Subclipse unterstützt (alt)
http://subclipse.tigris.org/
In Eclipse wird SVN mit dem Plugin Subversive unterstützt (neuer)
http://download.eclipse.org/technology/
subversive/0.7/update-site/
Dies ist im Unix-Pool bereits eingerichtet
7 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Ein neues Projekt anlegen
8 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Als Projekttyp SVN auswählen
9 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Repository auswählen (oder Neues eingeben)
10 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Revision auswählen (HEAD = aktuellste)
11 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Ein Projekt anlegen
12 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Das Projekt im Explorer betrachten und freuen
13 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Änderungen einreichen
14 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Hinweistext eingeben und einzureichende Dateien
auswählen
15 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Fehler bei Versionskonflikt
16 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
S YNCHRONIZE WITH R EPOSITORY auswählen, Korrigieren
und M ARK AS M ERGED
17 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Existierendes Projekt ins SVN laden: Rechtsklick auf PA2
18 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Existierendes Projekt ins SVN laden: SVN wählen
19 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Existierendes Projekt ins SVN laden: Repo. wählen
20 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Existierendes Projekt ins SVN laden: Struktur im SVN setzen
21 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Existierendes Projekt ins SVN laden: Kommentar ergänzen
22 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Existierendes Projekt ins SVN laden: nur *.java und Ordner
23 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
SVN mit NetBeans
Um eine erste lokale Kopie zu erhalten, muss ein Projekt
ausgecheckt werden
Ein SVN-Plugin ist in NetBeans meistens vorinstalliert
sonst: Nachholen über Menü TOOLS | P LUGINS
Ein SVN-Client muss auf dem Rechner installiert sein
24 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Ein Repository Auschecken
25 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Pfad und Passwort angeben
26 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Lokalen Speicherort auswählen
27 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Ein Repository Auschecken
28 / 29
Grundlagen
SVN mit Eclipse
SVN mit NetBeans
Projekt erstellen
29 / 29