mit im Rahmen der Projektarbeit "Moderne Methoden der Parallelverarbeitung" Michael Süß Universität Kassel http://www.se.e-technik.uni-kassel.de/se/index.php?id=494 Michael Süß, November 23, 2004 mit - p. 1
Inhalt: (inkl. Demonstration) angabe Zielgruppe des Vortrages: hat keine oder nur wenig Erfahrung mit kennt nicht will Benutzung, nicht Administration des Systems kennen lernen Michael Süß, November 23, 2004 mit - p. 2
Problem: Zusammenarbeit Lock-Modify-Unlock Copy-Modify-Merge Beispielsysteme ist die Kunst, Änderungen von Informationen zu verwalten. [1] ermöglicht: gleichzeitige Bearbeitung und Verwaltung mehrerer Versionen eines Projektes konfliktfreie Zusammenarbeit zwischen mehreren Mitarbeitern an unterschiedlichen Standorten am selben Projekt "Blick in die Vergangenheit" eines Projektes einfache und zentrale Datensicherung Michael Süß, November 23, 2004 mit - p. 3
Problem: Zusammenarbeit wie wird gegenseitiges Überschreiben von Daten verhindert? Problem: Zusammenarbeit Lock-Modify-Unlock Copy-Modify-Merge Beispielsysteme Figure 1: alle Bilder kopiert aus [1, p. 1] Michael Süß, November 23, 2004 mit - p. 4
Lock-Modify-Unlock Nachteile: Locks werden vergessen kann unnötige Serialisierung von Arbeit bewirken Locks können falsche Sicherheit vorgaukeln Michael Süß, November 23, 2004 mit - p. 5
Copy-Modify-Merge Michael Süß, November 23, 2004 mit - p. 6
Beispielsysteme Problem: Zusammenarbeit Lock-Modify-Unlock Copy-Modify-Merge Beispielsysteme zentralisierte Systeme: RCS Revision Control System CVS Concurrent Versions System Perforce von Perforce Software Inc. Visual Source Safe von Microsoft dezentrale Systeme: svk verteiltes System, das auf aufsetzt Arch unter GPL Bitkeeper von BitMover Michael Süß, November 23, 2004 mit - p. 7
Aufbau Arbeitsablauf / Demonstration Werkzeuge The goal of the project is to build a version control system that is a compelling replacement for CVS in the open source community. Mission Statement veröffentlicht unter einer open source Lizenz im Apache/BSD-Stil wird seit 2000 von einer Gruppe von Freiwilligen entwickelt inzwischen Version 1.1 überschritten Entwicklung unterstützt durch mehrere Firmen, u.a. CollabNet und RedHat Michael Süß, November 23, 2004 mit - p. 8
Aufbau Aufbau Arbeitsablauf / Demonstration Werkzeuge Repository = Projektarchiv - zentraler Speicherbereich (Fileserver), inklusive Geschichte Working Copy = Arbeitskopie - lokale Kopie des Zustandes der Dateien und Verzeichnisse im Projektarchiv zu einer gegebenen Zeit verbunden über http, https, svn, svn+ssh, file Michael Süß, November 23, 2004 mit - p. 9
Arbeitsablauf / Demonstration eine Version aus dem Projektarchiv auschecken, d.h. eine Arbeitskopie erzeugen (svn checkout) oder alternativ bestehende Arbeitskopie updaten (svn update) Änderungen vornehmen (= eigentlicher Arbeitsschritt) vorgenommene Änderungen überprüfen (svn status, svn diff) ungewollte Änderungen rückgängig machen (svn revert) Änderungen ins Projektarchiv übertragen und damit eine neue Version (mit neuer Versionsnummer) in diesem erzeugen (svn commit) zusätzliche Funktionen: Unterstützung der Lösung von Konflikten (svn resolved) vereinfachte Erstellung von Patches (svn diff) Zugriff auf ältere Versionen (und ihre Logmeldungen und Änderungen) jederzeit möglich (svn update, svn log) Michael Süß, November 23, 2004 mit - p. 10
Werkzeuge Aufbau Arbeitsablauf / Demonstration Werkzeuge GUI-Clients und Plugins: AnkhSVN - plugin für Microsoft Visual Studio.NET JSVN - JAVA client, inklusive Plugin für IDEA psvn.el - Schnittstelle für emacs RapidSVN - plattformübergreifender GUI Client SCPlugin - Plugin für den Mac OS X Finder Subclipse - ein Eclipse Plugin TortoiseSVN - ein Windows Client, als Shell-Erweiterungen implementiert Konverter für andere Versionskontrollsysteme: CVS, Perforce, Visual Source Safe u.a. Browser für das Projektarchiv: SVN::Mirror und SVN::Web ViewCVS Trac - minimalistisches Fehlermanagementsystem mit -Unterstützung Michael Süß, November 23, 2004 mit - p. 11
kann helfen, Projekte mit einem und / oder mehreren Mitarbeitern zu vereinfachen ist aber auch nützlich, wenn nur ein Mitarbeiter beteiligt ist Open Source Projekt ist inzwischen eine kostengünstige und leistungsstarke Lösung und Alternative zum althergebrachten CVS ermöglicht durch Implementierung des "copy-modify-merge" Modells effiziente Zusammenarbeit Michael Süß, November 23, 2004 mit - p. 12
angabe [1] Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato. Version control with subversion. http://svnbook.red-bean.com/, 2004. [2] project home. http://subversion.tigris.org. Michael Süß, November 23, 2004 mit - p. 13