Software(technik)praktikum: SVN-Tutorial

Ähnliche Dokumente
Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Einführung in Versions- und Konfigurationsmanagementsysteme

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Versionsverwaltung mit SVN

Software-Engineering Grundlagen des Software-Engineering

Einführung in Subversion. Tutorium SWP

Kapitel 2. Software Configuration Management mit CVS und SVN

Team- Entwicklung unter Eclipse

Software Configuration Management (SCM)

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, , Berlin

Framework zur Unterstützung von Unit-Tests

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

Eclipse und Java Einheit 05: Arbeiten im Team: CVS

Software Engineering in der Praxis

Versionierung und Bugtracking mit Git(Hub)

Versionierung und Dateistruktur

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

8. Dokumentenverwaltung mit CVS eine Einführung

Einführung in Subversion

Software Engineering I

Einführung in Subversion

Software Engineering in der Praxis

Subversion Grundprinzipien und grundlegende Anwendung

: Einführung in die Programmierung I Übungsblatt 1

Versionskontrolle mit Subversion

Einfu hrung in Subversion mit TortoiseSVN

Versionsmanagement mit Subversion

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

CVS-Einführung. Sebastian Mancke,

Subversion. von Stefan Arndt, Christian Autermann und Dustin Demuth. 5. November 2009

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS

Enigma2 Plugin Entwicklung mit Eclipse

Kurzanleitung zu. von Daniel Jettka

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann

Installationsbeschreibung

Sourcecodeverwaltung

Medieninformatik Praktikum. Jens Rademacher

Konfigurationsmanagement

Versionskontrolle mit Subversion

Software Configuration Management (SCM)

Versionsverwaltung mit SVN

Wie benutzt man TortoiseSVN

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Apache Subversion (SVN)

Apache Subversion (SVN)

Techniken der Projektentwicklung

Linux Cafe Referent: Bernd Strößenreuther

an Hand eines Beispiels Konsole

3. Versions- und Konfigurationsmanagement. Typischer Weg der Software-Entwicklung

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

Versionsverwaltung mit git. Christoph Knabe FB VI

Klicken Sie, um das Format des Titeltextes zu bearbeiten

Moodle aktuell halten mit Git

Programmierung im Grossen. Vorlesung 22: Konfigrationsmanagement. Themenübersicht. Bertrand Meyer. Bernd Schoeller

Inhaltsverzeichnis. 2.2 Grundlagen der UML Zusammenfassung... 53

DOKUMENTATION UND KOMMUNIKATION IN IT- FORSCHUNGSPROJEKTEN

Software Configuration Management. Referat von Jens Zastrow Software Engineering Projekt WS 2001/2002

Versionskontrolle mit Subversion

Versionskontrollsysteme. Uwe Berger & Markus Dahms <bralug@bralug.de>

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

BlueJ und Subversion Inhaltsverzeichnis

Versionsverwaltung für r Visual Studio.NET mit Subversion

Programmierumgebung. Thema: Programmierumgebungen auf eigenem Rechner installieren 1

Von SVN zu Git. Daniel Willmann cbna

Richard Bubel & Martin Hentschel

Subversion. Einstieg in die. Versionskontrolle

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

Enterprise PHP Tools

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung

Informationen zur Installation und Nutzung von Subversion (SVN)

Programmieren 2 06 Git-Teamwork und Egit

Entwicklungswerkzeuge

Informationen zur Installation und Nutzung von Subversion (SVN)

Versionskontrolle mit Subversion. Carnot 6.0

Programmieren 2 05 Versionsverwaltung mit Git

git Änderungen verwalten mit git

Iterativ. Inkrementell

Quellcodeverwaltung mit SubVersion

Versionsmanagement mit Subversion

Konfigurationsmanagement mit Subversion, Maven und Redmine

Subversion und Trac. Michael Trunner. 23. Januar Fachschaft Informatik und Softwaretechnik Universität Stuttgart

Transkript:

Software(technik)praktikum: SVN-Tutorial

Übersicht Kurz: Übersicht VKM (siehe auch Vorlesungs-Folien) Werkzeuge Grundsätzliches Integration in Eclipse Praktische Übung mit SVN Commits, Updates, Konflikte lösen Branch/Merge (wenn noch Zeit) Weitere Tipps

Versions- und Konfigurationsmanagement Beobachtung: Software besteht aus vielen verschiedenen Dokumenten (Anforderungen, Design, Programmcode, Dokumentation, Handbuch, ) Software-Entwicklung ist Teamarbeit Konsequenz: Viele verschiedene Personen greifen auf dieselbe Menge von Dokumenten zu Oft bearbeiten verschiedene Personen gleichzeitig (unabhängig voneinander) dasselbe Dokument Bearbeitungs-Konflikte vermeiden

Synchronisation von Dateien Repository edit src Main.java App.java doc index.html main.html Update Commit src Main.java,v App.java,v doc index.html,v main.html,v SVN Update Commit edit src Main.java App.java doc index.html main.html Benachrichtigung (z.b. per E-Mail)

Werkzeuge Concurrent Versions System (CVS) Älteres System Subversion (SVN) Versionierung des kompletten Projektarchivs anstatt einzelner Ressourcen Bessere Unterstützung für Erstellen, Löschen, Umbenennen Besserer Umgang mit Binärdaten Lokale Kopien des Basis -Versionen der Ressourcen

Subversion trunk Haupt-Entwicklungszweig In der Regel arbeitet man darin branches Neben-Entwicklungszweige tags Markierungen für bestimmte Zeitpunkte z.b. Release 1.0 Alles sind Ressourcen in SVN, keine separaten Konzepte für Branches und Tags

Grundsätzliche Tipps (1) Keinen nicht compilierbaren Code einchecken Bugs sind in der Regel kein Problem, es sei denn sie machen das Programm unbenutzbar Für Experimente mit größeren Folgen Branches verwenden Nur notwendige Ressourcen einchecken Keine Ausgabe-Dateien (*.class, ) oder Logfiles In Eclipse: Derived Resources Flag wird oft automatisch gesetzt, kann aber auch manuell gesetzt werden Besser: svn:ignore benutzen

Grundsätzliche Tipps (2) Aussagekräftige Commit-Kommentare Schlecht: ClassA.java geändert Besser: NPE-Bug behoben Gut: Bug #1234 behoben, verursacht durch NPE in ClassA.main() Zeilen nicht zu lang werden lassen Zeilenbasiertes Mischen beim Update Wichtig für LaTeX Binär-Dateien nur wenn nötig, weil automatisches Mischen nicht möglich (Ausnahmen: siehe Folie 18) Konflikte schwer zu beheben

Eclipse: Subversive (1) http://www.eclipse.org/subversive/ documentation/gettingstarted/ aboutsubversive/install.php Help Software Updates Available Software, Add Site SVN Update Sites: http://download.eclipse.org/technology/ subversive/0.7/update-site/ http://www.polarion.org/projects/ subversive/download/eclipse/2.0/ update-site/

Eclipse: Subversive (2) Subversive-Eclipse-Plugins Benötigt: SVN Team Provider mind. einen SVN Connector, z.b. SVNKit, JavaHL Optional: SVN Team Provider Localization SVN Integration for Mylyn SVN JDT Ignore Extensions Eines von vielen Tutorials: http://cs.wustl.edu/~cytron/cse132/helpdocs /Subversive/subversive.htm

Eclipse: Subclipse Eine Alternative zu Subversive ist Subclipse: http://subclipse.tigris.org/ Außerhalb von Eclipse bietet sich unter Windows der SVN-Client TortoiseSVN an: http://tortoisesvn.tigris.org/ 13.03.2012 11

Praktische Übungen Diese Übungen können im Team-Repository durchgeführt werden Tipp: Teams bilden zu je zwei Leuten (A / B) und gemeinsam arbeiten

Übung 1: Neue Klasse Check Out https://svn-serv-lab.cs.upb.de/swtpra2012-xy bzw. https://svn-serv-lab.cs.upb.de/sopra2012-xy A: Neue Datei 1. Neue Klasse erstellen: Factorial.java 2. Fakultäts-Funktion public static long fac(int n) rekursiv implementieren 3. Team Synchronize (auf Projekt) 4. SVN Add to version control 5. Commit B: Team Synchronize, Update

Übung 2: Merging Merging 1. A: Methode fac() durch eine iterative Version ersetzen 2. B: Methode public static void printfac() ergänzen, die die Fakultäten von 5 und 10 ausgibt (wichtig: unterhalb von fac()); aufrufen in main()-methode 3. A: Compare with 4. A: Synchronize with Repository, Einchecken 5. B: Compare with 6. B: Synchronize with Repository, Einchecken, Update, Einchecken

Übung 3: Konflikte Konflikte 1. A, B: In der printfac()-methode die Berechnung der Fakultät durch eine Schleife ersetzen, die alle Fakultäten von 1 5 (A) oder 1 10 (B) berechnet 2. B: Einchecken 3. A: Entweder 1. Konflikt auflösen (Doppelklick auf Datei in Sync View, Copy All Non-Conflicting Changes, Rest manuell links anpassen) 2. Commit A: Oder 1. Update und schauen 2. Konflikt auflösen (in Sync View Rechtsklick Edit Conflicts, anschließend Mark as Merged), Commit

Übung 4: Revision History A: Tag erstellen mit dem Namen Version 0.4 von team_#team# A, B: Umgang mit der Versions-Geschichte üben Show History Diverse Compare-Operationen Replace With Revision, Get Content Einfach ausprobieren!

Übung 5: Branch/Merge Branch/Merge 1. A: Neuen Branch erzeugen: Fakultäts-Berechnung mit Caching implementieren Neue Funktion static long fac_cache(int n) wird in fac() aufgerufen Team Branch (Name: test-swtpra12/team_#team# ), Start working in the branch 2. B: Begrenzung auf n 20 in fac() einbauen und einchecken 3. B: Branch mit trunk mergen: Team Merge, URL = branches/test-swtpra12 /team_#team#/de.upb.swtpra12.svntutorial Konflikte lösen, Commit

SVN: Weitere Infos Weitere Informationen auf den WWW- Seiten des Softwaretechnikpraktikums und http://subversion.tigris.org http://svnbook.red-bean.com Weitere Frontends: TortoiseSVN http://tortoisesvn.net/ Unterstützt MS Office, OpenOffice

Übung 6: MS Office Umgang mit Word-Dokumenten 1. A, B: TortoiseSVN installieren 2. A: Word-Dokument anlegen und mit zwei Absätzen versehen, Einchecken 3. B: Update 4. A, B: Beide verändern jeweils einen Absatz 5. A, B: Commit / Update