Mittwoch, 17. November 2010

Build Prozesse und Configuration Management


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?
Subversion Cheat Sheet

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
svn status

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)
svn resolved README

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.



Literatur
  • Version Control with Subversion, C. Michael Pilato, Ben Collins-Sussman , Brian W. Fitzpatrick - 2008 
Links

Keine Kommentare:

Kommentar veröffentlichen