Versionskontrolle mit Subversion

Ähnliche Dokumente
Einführung in Subversion

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

Versionsverwaltung. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009

Einführung in Subversion

Versionsverwaltung mit SVN

Software(technik)praktikum: SVN-Tutorial

Sourcecodeverwaltung

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Software Engineering in der Praxis

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

Einführung in Subversion. Tutorium SWP

Einführung in Subversion

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

Software-Engineering Grundlagen des Software-Engineering

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion

Thomas Rau (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten

Software Engineering in der Praxis

Versionsverwaltung. Seminar Softwareentwicklung in der Wissenschaft Robert Wiesner

Versionsmanagement mit Subversion

Einfu hrung in Subversion mit TortoiseSVN

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

Versionsverwaltung mit Subversion

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

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

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

Versionsverwaltung mit SVN

Programmieren 1 11 Versionsverwaltung mit Git - Grundlagen -

Programmieren 2 05 Versionsverwaltung mit Git

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

Praktikum Ingenieurinformatik (PI)

Informationen zur Installation und Nutzung von Subversion (SVN)

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

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

Versionsverwaltung für r Visual Studio.NET mit Subversion

Quellcodeverwaltung mit SubVersion

Subversion. Einstieg in die. Versionskontrolle

8. Dokumentenverwaltung mit CVS eine Einführung

Enterprise PHP Tools

Versionsmanagement. Software(technik)praktikum: Vorlesung 2: Versionsmanagement

Subversion - Versionsverwaltungssystem

Moodle aktuell halten mit Git

Semesterprojekt Entwicklung einer Suchmaschine für Alternativmethoden zu Tierversuchen. Versionierung und Bugtracking mit GitHub

Revisionskontrollsystem GIT

Versionsverwaltung mit git. Christoph Knabe FB VI

Kapitel 25 Konfigurationsmanagement

Subversion und Tortoise SVN Tutorial. Quelle: mit freundlicher Genehmigung von sd&m Research

Kapitel 2. Software Configuration Management mit CVS und SVN

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

Klicken Sie, um das Format des Titeltextes zu bearbeiten

TortoiseSVN unter Windows

Versionierung und Dateistruktur

Einen Punkt in eigener Sache, Sie haben einen Fehler gefunden, etwas nicht verstanden, bitte schreiben Sie mir:

Versionskontrolle: Subversion und Git

Versionsmanagementsysteme

Versionierung und Bugtracking mit Git(Hub)

Apache Subversion (SVN)

Einführung zu Git. Das Nötigste für die Studienarbeit im Modul Datenkommunikation. Ege Inanc

Software Configuration Management (SCM)

Softwareprojekt - Einführung

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

Kurzanleitung Eclipse

Arbeiten mit dem Versionsverwaltungssystem. Jannik Kramer Proseminar Werkzeuge für das wissenschaftliche Arbeiten

Prof. Dr. Marko Boger. Prof. Dr. Christian Johner. Versionsmanagement

Werkzeuge für das Softwarekonfigurationsmanagement

Zur Erinnerung: Wichtige Begriffe zum Arbeiten mit einem SVN/Subversion sind im Anhang unter Exkurs zu SVN-Begriffen erklärt.

Versionsverwaltung mit Eclipse. PR1 - Medizinische Informatik (IMB) Dennis-Immanuel Czogalla

Frank Budszuhn. Subversion ~ --.. Galileo Press

Installation. Prisma. Netzwerkversion

Versionskontrollsysteme

Subversion Grundprinzipien und grundlegende Anwendung

Transkript:

Versionskontrolle mit Subversion

Was ist Versionskontrolle? Ermöglicht gemeinsames Editieren von Quelltext und anderen Dateien Meist zentrale Ablage (Repository), Zugriff über Netzwerk Bearbeitung immer über lokale Kopie, nie auf Server System speichert Kopien aller alten Versionen: Zugriff auf alte Dateizustände Zugriff auf alte Zustände des Gesamtprojekts Bei Textdateien Ausgeben von Diffs zwischen beliebigen Versionsständen Beispiele: RCS, CVS, BitKeeper, Subversion, arch... Warum besonders wichtig/nützlich bei XP?

Subversion ( SVN ) Ersatz für CVS (concurrent version system): Ähnliche Benutzung, behebt viele Designfehler, bessere Nutzung über das Netzwerk, Open Source, für viele Betriebssysteme erhältlich Vorbereitung: Checkout, d.h. Kopie der aktuellsten Dateiversionen vom Server auf den eigenen Rechner Wiederholtes Kopieren von geänderten Versionen auf den Server: Update - Etwaige Änderungen der anderen in eigene lokale Kopie übernehmen Commit - Eigene Änderungen auf den Server kopieren (auch checkin / einchecken genannt) Warum nicht einfach Locks auf dem Server? Was passiert bei gleichzeitigen Änderungen?

Neuer Checkout der letzten Version TortoiseSVN ist ein Windows-Client für SVN, in den Explorer eingebettet. In leerem Verzeichnis Checkout im Explorer-Kontextmenü wählen svn: -URL und lokales Verzeichnis angeben Kommandozeile (Checkout ins aktuelle Verzeichnis): svn checkout svn://murx.medien.ifi.lmu.de/team1

Weitere Aktionen Update, Commit: Vom Kontext- Menü aus, möglich sowohl für einzelne ausgewählte Dateien als auch ganze Verzeichnisse, rekursiv (Kommandozeile: svn update, svn commit) Umbenennen, Löschen (svn move, svn delete) Revert: Verwerfen lokaler Änderungen, Überschreiben der Datei(en) mit aktuellster Repository-Version (svn revert) Alte Versionen ansehen: Repository-Browser (svn cat, svn diff)

Konflikte Was passiert, wenn zwei Leute dieselbe Datei editieren? A und B holen Datei vom Server, editieren sie lokal A führt Commit durch B führt Commit durch, bekommt Fehler: Lokale Version der Datei ist älter als die aktuellste im Repository ( Commit failed: Out of date ) B führt Update durch 1. Fall: Änderungen an verschiedenen Stellen, oder dieselbe Änderung an derselben Stelle Subversion führt automatisch Merge durch (während des Update: merged: Dateiname ) 2. Fall: Änderungen überschneiden sich manuelle Konfliktauflösung nötig

Konfliktauflösung Beim Update erscheint die Meldung Conflicted: Dateiname Datei öffnen sie enthält an der Stelle des Konflikts beide Versionen: Änderung des anderen Teammitglieds A (aktuelle Repository-Version 14): a bx c d e f a <<<<<<<.mine by ======= bx >>>>>>>.r14 c d e f Original (zuletzt von mir, B, aus dem Repository geholte Version 13): a b c d e f Meine (B's) versuchte Änderung: a by c d e f Nach Behebung des Konflikts im Explorer-Kontextmenü für Datei Resolved auswählen (svn resolved dateiname) SVN speichert Dateien mit Endungen.mine,.r13 und.r14

Tipps Nur Code einchecken, der getestet ist und funktioniert Möglichst kleine Änderungen, möglichst oft einchecken Vor dem Einchecken immer Update durchführen und etwaige Konflikte auflösen Wenn während des Updates Änderungen der anderen vom Server geholt werden, den Code nochmals vor dem eigenen Checkin testen Umbenennen/Löschen von Dateien immer über SVN, nicht direkt im Dateisystem - warum? Änderungen über den Repository-Browser vermeiden

Tipps für das Flash-Projekt Ins Repository sollten alle Dateien des Projekts eingecheckt werden: Code,.fla,.flp, Bilder & Sound, Dokumentation... (Binärdateien werden von Subversion erkannt) Es sollten keine automatisch generierten Dateien eingecheckt werden, d.h. kein.swf Umbennen von Dateien zu Backup-Zwecken ist nicht nötig alle alten Versionen sind über den Repo- Browser verfügbar! Zugriff auf den SVN-Server nur vom Rechnerpool aus möglich

Hiiiiiiilfäääää!!! Update, Commit usw. funktioniert nicht mehr neuen Checkout in anderes Verzeichnis machen, zuletzt geänderte Datei(en) hinüberkopieren Wie sah der Code gestern aus, als noch alles funktionierte? - neuer Checkout mit Revision {2002 02 17 15:30} (svn diff revision "{2002 02 17 15:30}" dateiname) Nach einem Konflikt lässt sich die Datei nicht mehr einchecken (remains in conflict) Konflikt beheben, Resolved im Menü auswählen Sonst: richard.atterer@ifi.lmu.de oder 2180-4654 ;-)

Links http://subversion.tigris.org/ http://svnbook.red-bean.com/svnbook/ http://tortoisesvn.tigris.org/docs.html