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