Versionsmanagement mit Subversion



Ähnliche Dokumente
Versionskontrolle mit Subversion

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

Einführung in Subversion

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Kurzanleitung zu. von Daniel Jettka

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Wie benutzt man TortoiseSVN

Versionsverwaltung mit SVN

Versionsverwaltung für r Visual Studio.NET mit Subversion

Software Engineering in der Praxis

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Versionskontrolle. Verteilte Versionskontrollsysteme. Richard Madsack. 25. November Versionskontrolle. Richard Madsack.

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

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK

Datensicherung und Wiederherstellung

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

Moodle aktuell halten mit Git

ICS-Addin. Benutzerhandbuch. Version: 1.0

MailUtilities: Remote Deployment - Einführung

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

PROJEKTVERZEICHNIS EINRICHTEN

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Verbinden. der Firma

Prodanet ProductManager WinEdition

Einfu hrung in Subversion mit TortoiseSVN

SJ OFFICE - Update 3.0

Datensicherung EBV für Mehrplatz Installationen

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Dokumentation owncloud PH Wien

Seminar DWMX DW Session 015

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Live Update (Auto Update)

Installation der SAS Foundation Software auf Windows

Sichern der persönlichen Daten auf einem Windows Computer

Powermanager Server- Client- Installation

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

MetaQuotes Empfehlungen zum Gebrauch von

Bedienungsanleitung für den SecureCourier

Internet Explorer Version 6

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Die Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".

Anhang zum Handbuch. Netzwerk

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

26. November EFS Übung. Ziele. Zwei Administrator Benutzer erstellen (adm_bill, adm_peter) 2. Mit adm_bill eine Text Datei verschlüsseln

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn

Print2CAD 2017, 8th Generation. Netzwerkversionen

SICHERN DER FAVORITEN

Installationsanleitung für pcvisit Server (pcvisit 12.0)

Anleitung zur Nutzung des SharePort Utility

Verwendung des IDS Backup Systems unter Windows 2000

Team- Entwicklung unter Eclipse

SANDBOXIE konfigurieren

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Bkvadmin2000 Peter Kirischitz

OpenMAP WEBDrive Konfiguration. Oxinia GmbH , Version 1

FTP Tutorial. Das File Transfer Protocol dient dem Webmaster dazu eigene Dateien wie z.b. die geschriebene Webseite auf den Webserver zu laden.

Sichern auf den zentralen TSM-Servern unter Windows. Sichern auf den zentralen TSM-Servern unter Windows

Updatehinweise für die Version forma 5.5.5

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Anleitung zur Installation des AP-Manager-II

Kleines Handbuch zur Fotogalerie der Pixel AG

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Drupal Kurzanleitung. Wie ändere ich den Inhalt meiner Seite?

MSDE 2000 mit Service Pack 3a

Step by Step Webserver unter Windows Server von Christian Bartl

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

FTP-Server einrichten mit automatischem Datenupload für

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Speicher in der Cloud

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Lizenzen auschecken. Was ist zu tun?

DNS-325/-320 und FXP

How to do? Projekte - Zeiterfassung

Nutzung von GiS BasePac 8 im Netzwerk

SharePoint Demonstration

Installation Hardlockserver-Dongle

teamsync Kurzanleitung

TeamViewer App für Outlook Dokumentation

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Durch Doppelklick auf die Zeile der entsprechenden Schnittstelle gelangt man in die Detaileingabe der Schnittstelle.

Anleitung zur Mailumstellung Entourage

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

WinVetpro im Betriebsmodus Laptop

1 Installation QTrans V2.0 unter Windows NT4

Werkzeuge für das Softwarekonfigurationsmanagement

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Windows XP Jugendschutz einrichten. Monika Pross Molberger PC-Kurse

Betriebssystem Windows - SSH Secure Shell Client

Informationen zum neuen Studmail häufige Fragen

Transkript:

Versionsmanagement mit Subversion Einführung + Demo Lehrstuhl Softwaretechnik Softwarepraktikum 2005 Nicolas Gümbel

Motivation Mitglieder einer Software Entwicklungsgruppe müssen: gemeinsamen Zugriff auf die Projektressourcen haben => File Sharing gleichzeitig identische Ressourcen bearbeiten können => Concurrent Editing die Projekt-Historie der Ressourcen verfolgen können => File History Ein Versionsmanagement-System liefert hier geeignete Software Mechanismen, um File Sharing, Concurrent Editing und File History zu ermöglichen.

Warum ist Concurrent Editing schwierig? Ein normaler File Server (z.b. NFS) kann File Sharing erleichtern, aber er kann immer nur die aktuelle Version der Datei speichern.

Lock-Modify-Unlock Ein einfacher Mechanismus zur Concurrent Editing Unterstützung:

Lock-Modify-Unlock Nachteile dieses Ansatzes: Delays: Datei-Locking verhindert Concurrent Editing Administrative Overhead: Falls ein Entwickler vergisst ein Datei-Locking freizugeben, dann muss dieser Lock explizit vom Administrator entfernt werden, bevor ein anderer Entwickler diese Datei neu editieren kann. False Sense of Security: Ein Datei-Lock einer einzelnen Datei A ist nicht ausreichend, wenn andere Dateien von Datei A implizit abhängig sind.

Copy-Modify-Merge I

Copy-Modify-Merge II

Copy-Modify-Merge III Zwei Möglichkeiten können beim Zusammenfügen (merge) der Datei auftreten. Changes that do not overlap: Trivial. Das Zusammenfügen kann automatisch passieren. Changes that overlap: In diesem Fall tritt ein Konflikt auf und das Zusammenfügen wird schwieriger. Die Entwickler müssen gemeinsam entscheiden, welche Version übernommen werden soll (Kommunikation notwendig!) Merging ist ein manueller Prozess der Entwickler. Kein Versionsmanagementsystem kann diesen Prozess abnehmen. Der Zeitbedarf, um diesen Konflikt zu lösen, ist wesentlich geringer als beim Lock- Modify-Unlock Ansatz.

Versionsmanagement-Systeme Viele Systeme mit unterschiedlichen Funktionen. RCS CVS Aegis Arch BitKeeper CMSynergy Co-Op Darcs Monotone Rational ClearCase OpenCM Perforce Subversion Superversion svk Vesta Visual SourceSafe Für das SoPra: Einsatz von Subversion

Subversion vs. Visual SourceSafe Atomare Commits Ja Subversion Nein Visual SourceSafe Umbenennen von Dateien und Verzeichnissen Dokumentation Webinterface Verfügbarkeit von GUI-Clients Netzwerkunterstützung Portabilität Lizenz Ja Viel Dokumentation vorhanden, u.a. ein frei verfügbares E-Book (welches im O Reilly-Verlag erschienen ist) Ja. ViewCVS, SVN::Web, WebSVN, ViewSVN, mod_svn_view, Chora, usw. Sehr gut, z.b. RapidSVN, SmartSVN, TortoiseSVN (Windows Explorer plug-in), AnkhSVN (Visual Studio Plugin), usw. Sehr gut. Verwendung offener Standards WebDAV+DeltaV welche auf HTTP/HTTPS aufbauen Client und Server für Unix, Windows und Mac OS X verfügbar Open-Source Indirekt (Workaround notwendig) Mittelmäßig. Hilfedatei verfügbar. Nein. Es gibt eine Standalone-GUI und ein SCCI Plugin für Visual Studio Über Windows Netzwerkfreigaben, schlechte Performance bei langsamer Netzwerkverbindung Windows Kommerzielles Produkt

Subversion's Architektur

Modell des kooperativen Entwickelns Einzelner Entwickler: Es kann durchaus sinnvoll sein ein Versionsmanagementsystem als einzelner Entwickler einzusetzen (Tags, Entwicklungszweige, Historie, Backup, ) Mehrere Entwickler: Quelltext wird geteilt: Team ist für Quelltext verantwortlich Entwickler arbeiten auf lokalen Arbeitskopien (working copies), niemals auf der Masterkopie Kontrolle über den Quelltext hat das Versionsmanagementsystem, nicht der Entwickler (Backup, Versionsstände, ) Quelltext-Distribution übernimmt das Versionsmanagementsystem

Entwicklungszyklen

Entwicklungszyklen

Revisionsnummern in Subversion Revisionsnummern in Subversion sind global (d.h. bezogen auf das ganze Repository) und nicht lokal (d.h. auf einzelne Dateien bezogen, wie z.b. in cvs). Die Revisionsnummer N repräsentiert also den Zustand des Repository s nach dem N ten commit. Wenn man über Revisionsnummer N einer Datei xy redet, meint man also die Version der Datei, die im Repository mit der Revisionsnummer N vorhanden war. Eine andere Version M der gleichen Datei muss also nicht unbedingt verschieden sein!

Weitere Tipps im Umgang mit Subversion Lieber öfters kleinere Änderungen einchecken Die Protokollfunktion von Subversion verwenden Immer nur Versionen einchecken, welche auch kompilierbar sind! Es gibt ein freies E-Book über Subversion, welches auch im O Reilly Verlag erschienen ist: http://svnbook.red-bean.com/ Zugangsdaten http://loewenheim.informatik.uni-augsburg.de/svn/gruppexy User (Nachname) & Passwort über die Tutorien! Subversion Clients http://ankhsvn.tigris.org/ (Visual Studio.NET Plugin) http://tortoisesvn.tigris.org/ (Explorer Shell Erweiterung) Achtung! Visual Studio.NET hat speziell bei Webanwendungen ein Problem mit Ordnern, deren Endung mit einem Punkt beginnt. Da Subversion in jeder lokalen Arbeitskopie Metadaten im Verzeichnis.svn abspeichert kommt es hier zum Problem. ankhsvn kann so konfiguriert werden, dass die Metadaten im Verzeichnis _svn gespeichert werden Von TortoiseSVN gibt es eine spezielle Version, welche _svn-ordner verwendet