Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans...

29
Versionsverwaltung mit SVN Jan-Philipp Kappmeier Technische Universität Berlin 11. 04. 2012

Transcript of Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans...

Page 1: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Versionsverwaltung mit SVN

Jan-Philipp Kappmeier

Technische Universität Berlin

11. 04. 2012

Page 2: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

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

Page 3: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

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 indas Repository einchecken (commit)

Jeder nutzer kann seine lokale Kopie auf den neuesten Standbringen (update)

Beispiel

Zentrale Systeme:CVS (alt)Subversion (SVN)

Verteilte Systeme:Mercurial, Git

3 / 29

Page 4: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

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 amgleichen Projekt (auch Datei) arbeiten

Repository zählt Versionsnummern.

Wachsen bei jedem Einchecken, Dateien mit höheren Nummernsind aktueller

Arbeitszyklus

1 Update auf die aktuellste Version

2 Bearbeiten der Dateien

3 Einchecken der Änderungen ins Repository (Achtung, nurSource-Dateien!)

4 / 29

Page 5: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Versionskonflikte

1 Radikale Lösung: Änderungen eines Benutzers verwerfen

2 Vergleichen und Mischen der DateienMöglich, wenn zwei Benutzer jeweils eine neue Funktiongeschrieben haben

á SVN enthält ein Merge-Tool das in den meisten Fällen automatisch dieDateiversionen mischt

5 / 29

Page 6: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

SVN-Software

SVN-Kommandozeilehttp://subversion.apache.org/

TortoiseWindows-Software mit Einbindung in Explorerhttp://tortoisesvn.net/

SmartSVNSVN-Client für verschiedene Betriebssystemehttp://www.syntevo.com/smartsvn/

6 / 29

Page 7: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

SVN mit Eclipse

Um eine erste lokale Kopie zu erhalten, muss ein Projektausgecheckt 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

Page 8: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Ein neues Projekt anlegen

8 / 29

Page 9: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Als Projekttyp SVN auswählen

9 / 29

Page 10: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Repository auswählen (oder Neues eingeben)

10 / 29

Page 11: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Revision auswählen (HEAD = aktuellste)

11 / 29

Page 12: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Ein Projekt anlegen

12 / 29

Page 13: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Das Projekt im Explorer betrachten und freuen

13 / 29

Page 14: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Änderungen einreichen

14 / 29

Page 15: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Hinweistext eingeben und einzureichende Dateienauswählen

15 / 29

Page 16: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Fehler bei Versionskonflikt

16 / 29

Page 17: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

SYNCHRONIZE WITH REPOSITORY auswählen, Korrigierenund MARK AS MERGED

17 / 29

Page 18: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Existierendes Projekt ins SVN laden: Rechtsklick auf PA2

18 / 29

Page 19: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Existierendes Projekt ins SVN laden: SVN wählen

19 / 29

Page 20: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Existierendes Projekt ins SVN laden: Repo. wählen

20 / 29

Page 21: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Existierendes Projekt ins SVN laden: Struktur im SVN setzen

21 / 29

Page 22: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Existierendes Projekt ins SVN laden: Kommentar ergänzen

22 / 29

Page 23: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Existierendes Projekt ins SVN laden: nur *.java und Ordner

23 / 29

Page 24: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

SVN mit NetBeans

Um eine erste lokale Kopie zu erhalten, muss ein Projektausgecheckt werden

Ein SVN-Plugin ist in NetBeans meistens vorinstalliertsonst: Nachholen über Menü TOOLS | PLUGINS

Ein SVN-Client muss auf dem Rechner installiert sein

24 / 29

Page 25: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Ein Repository Auschecken

25 / 29

Page 26: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Pfad und Passwort angeben

26 / 29

Page 27: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Lokalen Speicherort auswählen

27 / 29

Page 28: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Ein Repository Auschecken

28 / 29

Page 29: Versionsverwaltung mit SVN - coga.tu-berlin.de · Grundlagen SVN mit Eclipse SVN mit NetBeans Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten

Grundlagen SVN mit Eclipse SVN mit NetBeans

Projekt erstellen

29 / 29