Download Folien
hier
Download Quelltext und Übungen
Inhalt - Offene Themen zum Systementwurf
- Einführung in Configuration Management mit Subversion (SVN)
Lernziele (Fragen zur Vorlesung)
- Welche Regeln muss man einhalten um Komponenten mit der eigentlichen fachlichen Logik von der verwendeten Technik (z.B. JDBC) zu trennen?
- In welche drei Bereiche sollte man ein SVN Repository für ein Projekt aufteilen?
- Warum sollte man alle Projektartifakte (z.B. der Quelltext) immer unter Versionskontrolle stellen?
- Was ist der semantische Unterschied zwischen einem Tag und einem Branch?
- Gibt es in Subversion einen technischen Unterschied zwischen einem Branch und einem Tag?
- Was ist eine Revision Nummer in Subversion?
- Wie kann man die Revision Nummer für eine Datei oder einen Ordner abfragen in Subversion?
- Wie können zwei Versionen einer Datei in Subversion verglichen werden?
Checkout Projekt aus dem SVN-Repository
svn checkout https://sote2010.googlecode.com/svn/trunk/ sote2010
Füge einen Ordner oder Dateien zur Versionskontrolle (SVN) hinzu
svn add README
svn add *
Commit Changes in das SVN-Repository
svn commit -m "Add a File README to the project."
Get Changes from SVN-Repository
svn update *
svn update README
Lokale Änderungen verwerfen
svn revert
Zeige den aktuellen Status der Änderungen an
Zeige die SVN Infos für eine Datei oder einen Ordner an (Revision, letzte Änderung im Repository am, usw.)
svn info README
svn info
SVN Commit History
svn log
svn log README
Vergleichen von zwei Revisionen einer Datei
svn diff -r 5:6 README
Hilfe zu den SVN Commands
svn help
svn help merge
svn help <command>
Eine Datei markieren dass der Konflikt manuell behoben wurde (anschließend kann die Datei wird committed werden)
Erstellen eines Branch oder Tag lokal (Subversion Kopie)
svn copy team-baranowski tag01
Erstellen eines Branch oder Tag remote (Subversion Kopie)
svn copy https://sote2010.googlecode.com/svn/trunk https://sote2010.googlecode.com/svn/tags/0.0.1 -m "create tag with name 0.0.1"
svn copy https://sote2010.googlecode.com/svn/trunk https://sote2010.googlecode.com/svn/branches/demobranch -m "create branch demobranch"
Lokale Arbeitskopie auf einen Branch wechseln
svn switch https://sote2010.googlecode.com/svn/branches/demobranch
Subversion Branch in Trunk mergen
svn merge https://sote2010.googlecode.com/svn/branches/demobranch
Einen Order oder eine Datei aus dem SVN löschen
svn del test-folder
Aufräumen und Locks entfernen (Wenn gar nichts mehr geht!)
svn cleanup
svn update
GIT Tutorial
Hinweis: GIT haben wir leider in der Vorlesung aus Zeitgründen nicht mehr betrachtet. Wer sich aber für verteilte Versionskontrolle interessiert dem sei das folgende sehr gute GIT Einführungs-Video ans Herz gelegt. Das Thema GIT ist natürlich auch nicht Klausur relevant.
- Version Control with Subversion, C. Michael Pilato, Ben Collins-Sussman , Brian W. Fitzpatrick - 2008
Links