Versionsmanagementsysteme

Größe: px
Ab Seite anzeigen:

Download "Versionsmanagementsysteme"

Transkript

1 Versionsmanagementsysteme 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. 1

2 Concurrent Editing 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. diagram by Brian W. Fitzpatrick, C. Michael Pilato, Copyright 2000, 2001, 2002, 2003, 2004 CollabNet, Inc. Lock-Modify-Unlock Ein einfacher Mechanismus zur Concurrent Editing Unterstützung: Dieser Mechanismus kann benutzt werden, um einen multi-threaded Zugriff auf gemeinsame Ressourcen (Drucker) zu verwalten. diagram by Brian W. Fitzpatrick, C. Michael Pilato, Copyright 2000, 2001, 2002, 2003, 2004 CollabNet, Inc. 2

3 Lock-Modify-Unlock Nachteil 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 Ein besserer Mechanismus: diagram by Brian W. Fitzpatrick, C. Michael Pilato, Copyright 2000, 2001, 2002, 2003, 2004 CollabNet, Inc. 3

4 Copy-Modify-Merge 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 wird soll (communication) 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 1985 RCS (Revision Control System): Lock-Modify-Unlock Strategie. Entwicklung von Prof. Tichy (Uni Purdue, Uni Karlsruhe) 1986 CVS (Concurrent Versions Systems): Copy-Modify-Merge Strategie. Erste Entwicklung von Dick Grune im Usenet verteilt, basierend auf Unix-Shell Skripten CVS (Concurrent Versions Systems): Copy-Modify-Merge Strategie. Von Jeff Polk und Brian Berliner in C neu geschrieben. Open-Source, das dominante Versionsmanagement- System der letzten 15 Jahre, robust, konzeptionelle Schwachpunkte. 4

5 Versionsmanagement-Systeme 2004 Subversion Version 1.0 Copy-Modify-Merge Strategie Entwicklung von Karl Fogel (Author eines CVS Buches) Open-Source, Nachfolger von CVS subversion.tigris.org 2005 Subversion Release Version Kommerzielle Versionsmanagement Systeme: 1998 BitKeeper Copy-Modify-Merge Strategie kommerzielles Produkt, kein Open-Source, benutzt in z.b. Linux Kernel Entwicklung! VSS (Visual Source Safe) Microsoft Client-Server Bestandteile Subversion Server: Repository: archiviert Projekt Ressourcen (Dateien, Quelltext, Makefiles, binäre Dateien) Subversion Server Subversion Clients (Entwickler): arbeiten lokal auf Arbeitskopien, holen Repository Updates, übermitteln Änderungen an den Server P1 W1 P2 W3 P3 P4 User 1 P1 checkout/update commit W1 W3 W4 User 2 5

6 Vorgehensweise Einrichten: Repository wird vom Administrator auf Server initialisiert (init). Entwickler importieren Projekt in das Repository (import). Benutzung: erstmals: Entwickler kopieren lokale Kopien (Arbeitskopie) des Projektes in lokales Verzeichnis (checkout) aktualisieren Arbeitskopie (update) übermitteln Änderungen (commit) Modell des kooperativen Entwickelns Einzelner Entwickler: Es kann durchaus sinnvoll ein Versionsmanagementsysteme als einzelner Entwickler einzusetzen (Tags, Entwicklungszweige, Historie, Backup, ). Mehrere Entwickler: Quelltext wird geteilt: Team ist für Quelltext verantwortlich. Entwickler arbeiten auf lokalen Kopien, niemals auf der Masterkopie. Kontrolle über den Quelltext hat das Versionsmanagementsystem, nicht der Entwickler (Backup, Versionsstände, ) Quelltext-Distribution übernimmt das Versionsmanagementsystem. 6

7 Entwicklungszyklen Start Arbeitskopie anfordern checkout commit Übernahme ins Repository Konflikte auflösen Entwicklung zur nächsten Teilversion Arbeitskopie abgleichen update Der Entwicklungszyklus Entwickler (Client) Server Repository Entwickler (Client) Server Repository leer Quelltext Lokale Arbeitskopie checkout Quelltext Entwickler (Client) Mischung aus lokalen und Repository Änderungen update Übertragung veränderter Dateien und Verzeichnisse gegebenenfalls Merging Server Repository Quelltext 7

8 Der Entwicklungszyklus Entwickler (Client) gegebenenfalls Konflikte beseitigt und neu getestet Keine Aktion Server Repository Quelltext Entwickler (Client) Dateien als svn resolved markieren Keine Aktion Server Repository Quelltext Der Entwicklungszyklus Entwickler (Client) Lokale Arbeitskopie wird geändert Keine Aktion Server Repository Quelltext Entwickler (Client) Entwicklungsteilschritt erreicht und gestestet commit update/commit Übertragung der veränderten Dateien und Verzeichnisse Server Repository Quelltext mit Änderungen des Entwicklers 8

9 Der Entwicklungszyklus Entwickler I Commit Server Repository Entwickler II Update Entwickeln Update Quelltext Commit Entwickeln Commit Update Entwickeln Entwickler III Einführung in CVS 9

10 CVS Client Installation CVS Server (z.b. enterprise.cs.unibas.ch) existiert schon. Passwort und Username ist vom Administrator eingerichtet. Linux Client: Download aktuelle Version ( ) von # tar xzvf cvs tar.gz # cd cvs #./configure # make # su root # make install Windows GUI-Client: WinCVS: TortoiseCVS CVS Umgebungsvariablen Man sollte mindestens die beiden folgenden Variablen setzen: Bevorzugter Editor z.b. % setenv CVSEDITOR emacs % setenv SVN_EDITOR emacs CVS Pfad auf lokalem Host z.b. /var/lib/cvsroot oder /cvs % setenv CVSROOT /cvs CVS Pfad auf Remote Host z.b. CVSROOT CVS_RSH ssh In allen SVN und CVS Beispielen wird abgenommen, dass diese Variablen gesetzt sind. 10

11 Beispiel einer Linux CVS Sitzung Kurze Beispielsitzung Programm TextPrinter.java zur Ausgabe eines Textes. Zwei Entwickler: Einlesen eines Textes aus einer Datei. Änderungen des Ausgabetextes. Hinzufügen einer weiteren Datei. Einbinden von I/O Java Paketen Beispiel einer Linux CVS Sitzung Anfangsprojekt: TextPrinter.java public class TextPrinter { public void printtext() { String text = readfile(); for (int i=0;i<text.length();i++) printchar(text.charat(i)); } private String readfile() { return "Beam me up"; } private void printchar (char ch){ System.out.print (ch); } public static void main(string[] args){ TextPrinter tp = new TextPrinter(); tp.printtext(); } } Projekt in CVS importieren: % ls demo TextPrint.java % cd demo import java.io.bufferedreader import java.io.filereader // It reads text.txt and // displays the string private String readfile() { String result = ""; try { BufferedReader br = new BufferedReader (new FileReader("text.txt")); String aline = br.readline(); while (aline!= null) { result += aline + "\n"; aline = br.readline(); } } catch { } return result; } % cat text.txt Beam me up, Scotty % cvs import demo -m "initial import" demo-project version

12 Entwicklung-Szenario Entwickler A checkout // It reads text.txt and // displays the string update commit % cat text.txt Beam me up, Scotty! update commit R e p o s i t o r y checkout import java.io.bufferedreader; import java.io.filereader; update commit Entwickler B private String readfile() { } update commit Konflikt auflösen Beispiel einer Linux CVS Sitzung Entwickler A Dateien aus Repository auschecken. Entwickler B % mkdir projecta % mkdir projectb % cd project % cd project % cvs checkout demo % cvs checkout demo cvs checkout: Updating demo cvs checkout: Updating demo U demo/textprinter.java U demo/textprinter.java % cd demo % cd demo % ls -F % ls -F % CVS/ TextPrinter.java % CVS/ TextPrinter.java CVS erzeugt Verzeichnis CVS/ mit Information über den Status der Arbeitskopie % ls CVS/ % ls CVS/ % Entries Repository Root % Entries Repository Root % cat Entries /TextPrinter.java/ /Tue Feb 22 14:24: // % cat Repository Demo % cat Root 12

13 Beispiel einer Linux CVS Sitzung Entwickler A Entwickler B Beide Entwickler führen Änderungen auf der lokalen Arbeitskopie durch % emacs Textprinter.java % emacs Textprinter.java Line 1-2: // It reads text.txt and // displays the string % cvs diff cvs diff: Diffing. Index: TextPrinter.java RCS file: /cvs/demo/textprinter.java,v retrieving revision diff -r TextPrinter.java 0a1,2 // It reads text.txt and // displays the string Line 1-2: import java.io.bufferedreader; import java.io.filereader; Entwickler A möchte die Änderungen in seiner lokalen Arbeitskopie überprüfen Entwickler A macht update der lokalen Arbeitskopie. % cvs update cvs update: Updating. M TextPrinter.java M bedeutet, dass sich Repository und lokale Arbeitskopie konfliktfrei zusammenführen lassen Beispiel einer Linux CVS Sitzung Entwickler A Entwickler A checkt ein (commit) % cvs commit -m "first comments" cvs commit: Examining. Checking in TextPrinter.java; /cvs/demo/textprinter.java,v <-- TextPrinter.java new revision: 1.2; previous revision: 1.1 done cvs diff zeigt die Änderungen zwischen der lokalen Arbeitskopie und der zuletzt ausgecheckten Repository Version an. cvs diff r HEAD zeigt die Änderungen zwischen der lokalen Arbeitskopie und der zuletzt ausgecheckten Version an. Entwickler B Entwickler B ist später soweit: % cvs diff cvs diff: Diffing. Index: TextPrinter.java RCS file: /cvs/demo/textprinter.java,v retrieving revision diff -r TextPrinter.java 0a1,2 > import java.io.bufferedreader; > import java.io.filereader; % cvs diff r HEAD cvs diff: Diffing. Index: TextPrinter.java RCS file: /cvs/demo/textprinter.java,v retrieving revision 1.2 diff -r1.2 TextPrinter.java 1c1,2 < // It reads text.txt and < // displays the string --- > import java.io.bufferedreader; > import java.io.filereader; 13

14 Beispiel einer Linux CVS Sitzung Konflikt in Textprinter.java. Datei öffnen sie enthält an der Stelle des Konflikts beide Versionen: <<<<<<< TextPrinter.java import java.io.bufferedreader; import java.io.filereader; ======= // It reads text.txt and // displays the string >>>>>>> 1.2 public class TextPrinter { Originalversion liegt in.#textprinter.java Konflikt beheben und commit durchführen Entwickler B Entwickler B macht Update. % cvs update cvs update: Updating. M TextPrinter.javaRCS file: /cvs/demo/textprinter.java,v retrieving revision retrieving revision 1.2 Merging differences between and 1.2 into TextPrinter.java rcsmerge: warning: conflicts during merge cvs update: conflicts found in TextPrinter.java C TextPrinter.java % ls AFl.#TextPrinter.java CVS/ TextPrinter.java % cvs commit -m "with import" TextPrinter.java Checking in TextPrinter.java; /cvs/demo/textprinter.java,v <-- TextPrinter.java new revision: 1.3; previous revision: 1.2 done Entwicklung-Szenario Entwickler A % cat text.txt Beam me up, Scotty! update commit R e p o s i t o r y Entwickler B private String readfile() { } update commit 14

15 Beispiel einer Linux CVS Sitzung Entwickler A Hinzufügen einer Datei: text.txt % cat text.txt Beam me up, Scotty! % cvs update:? text.txt cvs update: Updating. P TextPrinter.java Datei text.txt im Repository anmelden % cvs add text.txt cvs add: scheduling file text.txt for addition cvs add: use cvs commit to add the file permanently % cvs commit -m "with Scotty cvs commit: Examining. RCS file: /cvs/demo/text.txt,v done Checking in text.txt; /cvs/demo/text.txt,v <-- text.txt initial revision: 1.1 done Entwickler B Editieren von TextPrinter.java private String readfile() { String result = ""; try { BufferedReader br = new BufferedReader (new FileReader("text.txt")); String aline = br.readline(); while (aline!= null) { result += aline + "\n"; aline = br.readline(); } } catch { } return result; } Beispiel einer Linux CVS Sitzung Entwickler A cvs update: M bedeutet, dass sich Repository und lokale Arbeitskopie konfliktfrei zusammenführen lassen C Konflikt U Datei erfolgreich aktualisiert. Entwickler A holt letzte Version % cvs update cvs update: Updating. P TextPrinter.java Entwickler B Entwickler B macht Update % cvs update cvs update: Updating. M TextPrinter.java U text.txt Entwickler B checkt ein (commit) % cvs commit -m "last version cvs commit: Examining. Checking in TextPrinter.java; /cvs/demo/textprinter.java,v <-- TextPrinter.java new revision: 1.4; previous revision: 1.3 done 15

16 Beispiel einer Linux CVS Sitzung % cvs log TextPrinter.java RCS file: /cvs/demo/textprinter.java,v Working file: TextPrinter.java total revisions: 5; selected revisions: 5 description: revision 1.4 date: 2005/03/15 17:27:00; author: oschenk; state: Exp; lines: last version revision 1.3 date: 2005/03/15 17:15:41; author: oschenk; state: Exp; lines: +3-0 with import revision 1.2 date: 2005/03/15 16:53:34; author: oschenk; state: Exp; lines: +2-0 first comments revision 1.1 date: 2005/03/15 14:55:43; author: oschenk; state: Exp; branches: 1.1.1; Initial revision revision date: 2005/03/15 14:55:43; author: oschenk; state: Exp; lines: +0-0 initial import cvs log zeigt die gesamte Historie des Projektes an. Beispiel einer Linux CVS Sitzung % cvs log text.txt RCS file: /cvs/demo/text.txt,v Working file: text.txt head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: revision 1.1 date: 2005/03/15 17:18:43; author: oschenk; state: Exp; with Scotty ================================================================= 16

17 Administrative CVS Informationen Information ist im CVS/ Verzeichnis: Für jede Datei speichert CVS in CVS/: die aktuelle Revisionsnummer der Datei die Zeit des letzten Updates der Datei Basierend auf diesen Informationen entscheidet CVS, ob ein update oder commit die Daten im Repository ändert. Revisionsnummern TextPrinter.java text.text text2.text Zusammengehörige Revision Repository Dateien können in CVS unterschiedliche Revisionsnummer haben (auch wenn diese zum gleichen Projektstand gehören). Bestimmte Revisionsstände einer Datei können z.b. mit cvs update j 1.4 Textprinter.java wieder ausgecheckt werden. 17

18 Symbolische Tags TextPrinter.java % cvs tag Release cvs tag: Tagging. T TextPrinter.java T text.txt T text2.txt text.text % cvs log text2.txt RCS file: /cvs/demo/text2.txt,v Working file: text2.txt head: 1.1 symbolic names: Release: 1.1 text2.text Markierte Dateirevision Release Tags werden häufig verwendet, um die Versionsnummer festzuhalten, die die Entwickler vergeben, anstatt der internen CVS Revisionsnummer. % cvs checkout r Release Verzweigungen (Branch) Was ist ein Branch? Verzweigung (eng. Branch): Ein Verzeigung ist eine neue unabhängige Entwicklungslinie des Projektes, welche die gleiche Historie mit anderen Linien besitzt. Einsatz von Verzweigungen? Release Versionen einer Software zur Fehlerbehebung. Fehlerbehebungsmanagement, experimentelle Versionen eines Projektes. In der Regel versucht man Verzweigung so schnell wie möglich wieder mit dem Hauptzweig zu vereinigen. 18

19 Die wichtigsten CVS Befehle checkout Vollständige Arbeitskopie aus dem Repository holen: cvs checkout demo add/delete Hinzufügen/Löschen von Datei/Verzeichnis im Repository. cvs add newfile.java cvs delete newfile.java commit Die lokalen Änderungen in das Repository übertragen. cvs commit -m "changes description" changed.java cvs commit kb m binäre Datei bild.png update Die Änderungen der anderen Entwickler übernehmen. cvs update outofdate.java help Hilfe zu dem einzelnen Befehlen: cvs help cvs add -help Einführung in Subversion 19

20 CVS Subversion Subversion und CVS sind sich grundsätzlich ähnlich. Ähnliche Syntax und Befehle z.b. für add, checkout, commit, import, update... Zugriffsverfahren über Client-Server-System: % cvs checkout d % svn checkout https://subversion.cs.unibas.ch/repos/ss05/cs104/g1 Es gibt unter Subversion keine Variable SVNROOT (import, checkout) Lokale Arbeitskopien und administrative Informationen:.svn anstatt CVS/ Caching bei Subversion: eine unveränderte Version jeder Datei liegt im.svn Verzeichnis. Damit müssen viele Befehle nicht über das Repository durchgeführt werden. Unterschiede CVS Subversion Atomaren Commits Was passiert wenn bei einem commit von mehreren Dateien festgestellt wird, dass für eine Datei im Repository Änderungen vorliegen, welche nicht in der Arbeitskopie vorliegen? CVS checkt die anderen Dateien ein. Subversion tritt bei einer Transaktion ein Fehler auf, so werden alle vorgenommen Änderungen rückgängig gemacht (Rollback) SVN Repository Revisionsnummern sind global Bei Subversion ändert sich die Revisionsnummer mit jedem einzelnen Commit % svn commit TextPrinter.java TextPrinter.java 11 text.text 11 SVN Repository Revisions- Nummer immer identisch SVN Arbeitskopie Revisions- Nummer nicht identisch 20

21 Unterschiede CVS Subversion SVN Versionsverwaltung für Verzeichnisse Verzeichnisverwaltung unter CVS hat einige Schwachstellen. Konsistente Behandlung von Verzeichnissen unter SVN durch [mkdir, move, add, delete, copy]. Tags und Verzweigungen Subversion implementiert Tags und Verzweigungen durch Kopieren. Im Repository werden sie Projektverzeichnisse trunk, branches, tags angelegt. /repos/myproject/trunk /repos/myproject/branches /repos/myproject/tags [Hauptzweig] [Verzweigungen] [Versionen, Meilensteine] Behandlung binäre Dateien CVS kann binäre Dateien im Repository nicht effizient speichern. Subversion kann auch binäre Dateien gut verwalten. Unterschiede CVS Subversion Der SVN Befehl resolved Nach der Auflösung eines Konfliktes muss Subversion angezeigt werden, dass dieser beseitigt ist. Solange sich eine Datei im Konfliktzustand befindet, ist ein Einchecken in das Repository nicht möglich. Der Konfliktzustand muss explizit vom Entwickler zurückgesetzt werden. % svn resolved text.txt Resolved conflicted state of `text.txt % svn commit text.txt 21

22 Subversion Architektur Clients: svn (Linux) Tortoise (Windows) Repository Access URLs: file:/// + https:// svn:// Programmieren II (CS104): https://subversion.cs.unibas.ch/repos/ss05/cs104/g1 https://subversion.cs.unibas.ch/websvn/wsvn/ss05/cs104 SVN Linux Befehle checkout Vollständige Arbeitskopie aus dem Repository holen: svn checkout https://subversion.cs.unibas.ch/repos/ss05/cs104/g1 add/delete Hinzufügen von Datei/Verzeichnis im Repository. cvs add newfile.java commit Die lokalen Änderungen in das Repository übertragen. svn commit -m "changes description" changed.java update Die Änderungen der anderen Entwickler übernehmen. svn update outofdate.java help Hilfe zu den einzelnen Befehlen: svn help svn help add 22

23 Windows Befehle TortoiseSVN Windows Befehle TortoiseSVN 23

24 Allgemeine Tipps Nur Quelltext einchecken, der getestet ist und funktioniert. Checken Sie nur Quellen ein, keine kompilierten Dateien (*.class, *.o) Möglichst kleine Änderungen, möglichst oft einchecken. Vor dem Commit immer ein Update durchführen und etwaige Konflikte auflösen. Wenn während des Updates Änderungen der anderen Entwickler vom Server geholt werden, den Code nochmals vor dem eigenen Commit testen. Hilfe Update, Commit usw. funktioniert nicht mehr neues checkout in ein anderes Verzeichnis machen, zuletzt geänderte Dateien hinüberkopieren. Wie sah der Code gestern aus, als alles noch funktionierte? Neuer checkout mit Revision { :30} % svn checkout - - revision " { :30} " Nach einem Konflikt lässt sich die Datei nicht mehr einchecken (remains in conflict) Konflikt beheben und % svn resolved Datei 24

25 Subversion Client Installation Aktuelle Linux Version unter # tar xzvf subversion tar.gz # cd subversion #./configure --without-apache --without-apxs -with-ssl --enable-shared --enable-static # make # su root # make install Windows: TortoiseSVN Download MSI Installer from Dokumentation Allgemein: Windows: Hilfe: svn help // List available commands svn help <command> // Help and argument list // for <command> 25

Versionsmanagement mit Subversion

Versionsmanagement mit Subversion Versionsmanagement mit Subversion Einführung + Demo Lehrstuhl Softwaretechnik Softwarepraktikum 2005 Nicolas Gümbel Motivation Mitglieder einer Software Entwicklungsgruppe müssen: gemeinsamen Zugriff auf

Mehr

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

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN) Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN) Prof. Dr. Rolf Dornberger Software-Engineering: 7.3 Versionsmanagement-Systeme

Mehr

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion 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 -

Mehr

an Hand eines Beispiels Konsole

an Hand eines Beispiels Konsole Versionskontrolle an Hand eines Beispiels Konsole 1 / 14 PAUL SCHEREMET Inhaltsverzeichnis Einleitung 3 Das Repository anlegen (init) 4 Das erste Modul importieren (import) 5 Module auschecken (checkout

Mehr

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

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin Subversion als Werkzeug in der Software-Entwicklung Eine Einführung Tobias G. Pfeiffer Freie Universität Berlin Seminar DG-Verfahren, 9. Juni 2009 Voraussetzungen/Ziele des Vortrags Situation Der Zuhörer

Mehr

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

Frank Budszuhn. Subversion 1.4 ..~ --.. Galileo Press

Frank Budszuhn. Subversion 1.4 ..~ --.. Galileo Press , Frank Budszuhn Subversion 1.4 Galileo Press..~ --.. Vorwort 15 TEIL 1 EINE EINFÜHRUNG IN SUBVERSION 1 Einleitung 21 1.1 ZielgruppedesBuchs 21 1.2 Aufbau des Buchs 22 1.3 Anforderungen an den Leser 23

Mehr

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle Vorlesung Programmieren Versionskontrolle Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Versionskontrollsysteme Wie organisiert man die

Mehr

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

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, 04.01.2008, Berlin Crashkurs Subversion / Trac / Provisioning Jan Zieschang, 04.01.2008, Berlin Agenda 2 Subversion Das SCM TortoiseSvn Der Client Trac Das Tracking-Tool Provisioning Das Provisioning Tool Arbeiten mit Subversion/TortoiseSvn

Mehr

Klicken Sie, um das Format des Titeltextes zu bearbeiten

Klicken Sie, um das Format des Titeltextes zu bearbeiten Klicken Sie, um das Format des Titeltextes zu bearbeiten Versionsverwaltung mit SVN Eike Slogsnat 18.01.2013 1 Gliederung Wichtige Linux-Befehle Aufgaben einer Versionsverwaltung Struktur Befehle Verzweigungen

Mehr

Subversion. Einstieg in die. Versionskontrolle

Subversion. Einstieg in die. Versionskontrolle Versionskontrolle mit Subversion Einstieg in die Versionskontrolle Dipl.Ing.(FH) K. H. Marbaise Agenda Wozu Versionskontrolle? Was leistet Versionskontrolle? Historie zu Subversion Projekt Handling Installation

Mehr

Versionsverwaltung mit CVS

Versionsverwaltung mit CVS Versionsverwaltung mit CVS Steffen Schäfer Michael Velten 27. Juni 2004 Reihe Berichte zur Softwaretechnik Herausgeber: Prof. Dr. Ulrich Eisenecker, Fachhochschule Kaiserslautern, Standort Zweibrücken,

Mehr

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

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann SVN-Einführung für das SEP DS und CM Julian Timpner, Stefan Brenner, Stephan Rottmann 23. April 2014 Subversion (SVN) - Allgemeines Versionsverwaltung für Dokumente Primär für reine Textdateien (*.txt,

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 git Datamining

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

Mehr

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion Versionskontrolle mit Ralph Thesen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Seminar: Technische Numerik November 2009 Überblick 1 Warum? Aber! Konzepte 2 Zugriff

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme Grundkurs C++ Buildsysteme Buildsysteme Beispielhaftes Übersetzungsszenario: Verzeichnis tutorial7/ main.cpp, lcdrange.cpp, lcdrange.h *.cpp Kompilieren *.o *.h Grundkurs C++ 2 Headerdateien //blackbox.h

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Versionsverwaltung Software Configuration Management (SCM) Aufgaben: Verwaltung des checkin/checkout von Quellen Festhalten von Zeit, Autor, Zweck und Inhalt von Änderungen

Mehr

Subversion. Quellcodeverwaltung a la Opensource. Matthias Fischer. Technical Expert.NET Tieto, JOSI / Microsoft Matthias.Fischer@tieto.

Subversion. Quellcodeverwaltung a la Opensource. Matthias Fischer. Technical Expert.NET Tieto, JOSI / Microsoft Matthias.Fischer@tieto. Subversion Quellcodeverwaltung a la Opensource Matthias Fischer Technical Expert.NET Tieto, JOSI / Microsoft Matthias.Fischer@tieto.com Agenda Grundlagen Installation Administration / Konfiguration Verwendung

Mehr

Softwarewerkzeuge oder Praxis der Softwareentwicklung

Softwarewerkzeuge oder Praxis der Softwareentwicklung Softwarewerkzeuge oder Praxis der Softwareentwicklung 1/107 Prof. Dr.-Ing. Andreas Zeller Lehrerweiterbildung Informatik, Schloß Dagstuhl, 29.11.2001 Übersicht 1/107 Ausgewählte Themen und Werkzeuge der

Mehr

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

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014 Versionsverwaltung von Softwareartefakten Dr. Thorsten Arendt Marburg, 06. November 2014 Überblick Warum ist die Versionsverwaltung von Softwareartefakten wichtig? Wie verwaltet man Softwareartefakte?

Mehr

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

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 git & git-flow Jens Sandmann Warpzone Münster e.v. 14.12.2013 Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 Überblick 1 git Versionskontrolle Allgemein VCS mit git 2 git flow 3 git nutzen 4 Anhang

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

Bevor Sie CVS benutzen können, müssen Sie es auf Ihrem System installieren. Der einfachste Weg auszuprobieren, ob CVS schon installiert ist:

Bevor Sie CVS benutzen können, müssen Sie es auf Ihrem System installieren. Der einfachste Weg auszuprobieren, ob CVS schon installiert ist: >> Gentoo Linux CVS Tutorial [Bitte Kapitel auswählen] 1. Einleitung 1.1 Struktur des Tutorials Dieses Tutorial besteht aus zwei Teilen. Im ersten Teil werden Sie lernen wie Sie CVS als Nicht- Entwickler

Mehr

Konfigurationsmanagement

Konfigurationsmanagement Konfigurationsmanagement Seminar Simulation und Bildanalyse mit Java SS04 Andreas Stieger Motivation Konfigurationsmanegement Zusammenarbeit mehrerer Entwickler komplexe Softwareprojekte Sourcen, Dokumente,

Mehr

Enigma2 Plugin Entwicklung mit Eclipse

Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse Enigma2 Plugin Entwicklung mit Eclipse 1/15 Inhaltsverzeichnis 1 ÜBER... 3 2 INSTALLATION... 4 2.1 INSTALLATION VON ECLIPSE... 4 2.2 INSTALLATION VON PYDEV... 4 3

Mehr

Versionsverwaltung mit Subversion

Versionsverwaltung mit Subversion Versionsverwaltung mit Subversion Florian Wörter 30. Juli 2007 http://www.woerter.at Inhaltsverzeichnis 2 Inhaltsverzeichnis 1 Einleitung 3 1.1 Versionsverwaltung.............................. 3 1.1.1

Mehr

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git Einführung in Verteilte Versionskontrollsysteme am Beispiel von Git Diplominformatiker (BA), Git Benutzer seit 2009 Daniel Böhmer Leibniz Institut für Troposphärenforschung 8. März 2012 Verteilte Versionskontrollsysteme/Git

Mehr

binäre Dateien 223 BitKeeper 29 blame 151, 239 Branch 22, 326 branches 80, 120

binäre Dateien 223 BitKeeper 29 blame 151, 239 Branch 22, 326 branches 80, 120 $HeadURL$ 178 $LastChangedBy$ 178 $LastChangedDate$ 178 $LastChangedRevision$ 178 A Abstammung 122, 129, 325 Access Controll Lists 234 add 109, 238 Erkennung binärer Formate 110 Administration 17 Ancestry

Mehr

Subversion Ein besseres CVS?

Subversion Ein besseres CVS? Subversion Ein besseres CVS? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Steffen Schluff Version: 1.0 www.oio.de info@oio.de Gliederung Subversion Grundlagen Dateien unter Subversion

Mehr

Versionsverwaltung für r Visual Studio.NET mit Subversion

Versionsverwaltung für r Visual Studio.NET mit Subversion Versionsverwaltung für r Visual Studio.NET mit Subversion Udo Pracht 08.05.2007 EMail: mail@udo-pracht.de Web: www.udo-pracht.de Inhalt Versionsverwaltung Vergleich ausgewählter Systeme Subversion Funktionsweise

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 19.10.2012 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 19.10.2012 git Datamining

Mehr

Subversion - Versionsverwaltungssystem

Subversion - Versionsverwaltungssystem Subversion - Versionsverwaltungssystem Was kommt nach CVS? Daniel Jahre daja@rocklinux.org - p. 1/36 Zitat If C gives you enough rope to hang yourself, think of Subversion as a sort of rope storage facility.

Mehr

git Änderungen verwalten mit git

git Änderungen verwalten mit git Änderungen verwalten mit git Wie arbeitet man am besten an einem Protokoll zusammen? PeP et al. Toolbox, 2014 2 Idee: Austausch über Mails PeP et al. Toolbox, 2014 3 Mails: Probleme Risiko, dass Änderungen

Mehr

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014 Versionsverwaltung mit git Christoph Knabe FB VI 17.04.2014 Inhalt Probleme bei Software-Entwicklung Begriffe in git Geschichte von git Installation Was ist verteilt an git? Mischen verteilter Änderungen

Mehr

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln Verteilte Versionskontrolle mit GIT 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln 1 über mich 32 Jahre alt Softwareentwickler bei der Firma GreenPocket in Köln Java EE Entwickler und Rails

Mehr

Von SVN zu Git. Daniel Willmann 2011-10-18 cbna

Von SVN zu Git. Daniel Willmann <daniel@totalueberwachung.de> 2011-10-18 cbna Von SVN zu Git Daniel Willmann 2011-10-18 cbna Inhalt Einführung Git für SVN Benutzer Weitergehende Konzepte Zusammenfassung Daniel Willmann Von SVN zu Git 2 Über den Vortragenden

Mehr

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

Subversion und Trac. Michael Trunner. 23. Januar 2008. Fachschaft Informatik und Softwaretechnik Universität Stuttgart Subversion und Trac Michael Trunner Fachschaft Informatik und Softwaretechnik Universität Stuttgart 23. Januar 2008 Michael Trunner SVN & Trac (1/ 30) 1 Vorwort 2 Subversion alias SVN 3 Trac Michael Trunner

Mehr

Versionsverwaltung mit SVN

Versionsverwaltung mit SVN Versionsverwaltung mit SVN Jan-Philipp Kappmeier Technische Universität Berlin 11. 04. 2012 Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten an einem Projekt Arbeiten

Mehr

CVS. (Unsere Dateien befinden sich im Hauptzweig (HEAD) und besitzen die Revisionsnummer 1.1.)

CVS. (Unsere Dateien befinden sich im Hauptzweig (HEAD) und besitzen die Revisionsnummer 1.1.) In dieser Starthilfe Team-Entwicklung mit CVS Installation des CVS CVSNT Control Panel Starten des CVS Hinzufügen von CVS Benutzern Testen der CVS Verbindung Neue CVS Module hinzufügen CVS Befehlsreferenz

Mehr

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

Subversion und Tortoise SVN Tutorial. Quelle: mit freundlicher Genehmigung von sd&m Research Subversion und Tortoise SVN Tutorial Quelle: mit freundlicher Genehmigung von sd&m Research Agenda Agenda Tutorial Troubleshooting und FAQ Weiterführende Informationen Exkurs: Alternativ-Tool zu Tortoise

Mehr

Versionskontrollsysteme

Versionskontrollsysteme Versionskontrollsysteme Erfassung von Änderungen an Dateien Protokollierung von Änderungen Wiederherstellung alter Zustände Archivierung der gesamten Historie Koordinierung des gemeinsamen Zugriffs Verzweigung

Mehr

Dezentrale Versionsverwaltung

Dezentrale Versionsverwaltung Dezentrale Versionsverwaltung mit GIT with that guy 14.08.2012 Lars Kumbier 1 Versionsverwaltung? 14.08.2012 Lars Kumbier 2 Versionsverwaltung? Speichern unterschiedlicher Entwicklungsschritte (oder Versionen)

Mehr

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte Inhaltsverzeichnis SVN Windows Howto DI Werner Damböck (2008) public: svn://193.170.118.37/et/howto/svn-howto-htl-et.pdf source: svn://193.170.118.37/damb/howto/svn-howto-htl-et.odt 1 Revisionshierarchie...1

Mehr

Medieninformatik Praktikum. Jens Rademacher 14.07.2013

Medieninformatik Praktikum. Jens Rademacher 14.07.2013 mit mit Medieninformatik Praktikum 14.07.2013 1 / 13 mit 2 / 13 Nutzen von und an en mit Verwaltung unterschiedlicher Versionen einer Datei Protokollierung von Änderungen (Änderung, Zeitpunkt, Person)

Mehr

Eclipse und Java Einheit 05: Arbeiten im Team: CVS

Eclipse und Java Einheit 05: Arbeiten im Team: CVS Eclipse und Java Einheit 05: Arbeiten im Team: CVS Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis 1 Source

Mehr

CAMPARI-Trainings-Workshop Versionskontrolle mit Subversion

CAMPARI-Trainings-Workshop Versionskontrolle mit Subversion Zielgruppe und Vorkenntnisse Forschungszentrum Telekommunikation Wien [Telekommunications Research Center Vienna] CAMPARI-Trainings-Workshop Versionskontrolle mit Subversion Praktikanten CAMPARI und Interessierte

Mehr

antlogger SCMP Software Engineering Projekt Patrick Bründler, Pascal Mengelt, Andy Wyss, Fabian Heusser Dozent: Jörg Hofstetter

antlogger SCMP Software Engineering Projekt Patrick Bründler, Pascal Mengelt, Andy Wyss, Fabian Heusser Dozent: Jörg Hofstetter FHZ > FACHHOCHSCHULE ZENTRALSCHWEIZ HTA > HOCHSCHULE FÜR TECHNIK+ARCHITEKTUR LUZERN Abteilung Informatik- >Software Engineering- >Projekt AntLogger Software Engineering Projekt antlogger SCMP Patrick Bründler,

Mehr

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 13. Configuration Management Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 13. Configuration Management 2 Übersicht Dokumentation, Installationssoftware, etc.

Mehr

Software Configuration Management (SCM)

Software Configuration Management (SCM) Software Configuration Management () und n Einzelarbeit Namensgebung und Nummerierung Anleitung : Problemsituationen beim Arbeiten im Team Mehrere Entwickler ändern die gleichen Klassen Die Weiterentwicklung

Mehr

Kapitel 2. Software Configuration Management mit CVS und SVN

Kapitel 2. Software Configuration Management mit CVS und SVN Vorlesung Softwaretechnologie Wintersemester 2008 R O O T S Kapitel 2. Software Configuration Management mit CVS und SVN Motivation und Grundbegriffe Arbeiten mit SVN und CVS Vergleich von SVN und CVS

Mehr

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

Torsten Flatter inovex GmbH. Git.NET gibt's nicht? Torsten Flatter inovex GmbH "Git.NET" gibt's nicht? Vorstellung Torsten Flatter inovex GmbH.NET / C# seit 2004 VSS, CVS, SVN, TFS, hq, git Enterprise-Umfeld Agenda Überblick Grundlagen Einsatzbereiche

Mehr

Entwicklungs- Qualitätssicherung- & Live-Server

Entwicklungs- Qualitätssicherung- & Live-Server OpenSource, Consulting, Implementation Entwicklungs- Qualitätssicherung- & Live-Server Qualitätsgesicherte Entwicklung von TYPO3-Sites Modelle, Methoden & Erfahrungen mit TYPO3, Subversion & np_subversion

Mehr

Praktikum Ingenieurinformatik (PI)

Praktikum Ingenieurinformatik (PI) Praktikum Ingenieurinformatik (PI) Verteilte Versionskontrolle mit Git und Github Björn Meyer Fachgebiet Technische Informatik 1 Agenda Einleitung Motivation Versionskontrolle Ansätze Git Funktionen Arbeiten

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 10 Konfigurationsverwaltung Prof. Dr. Walter F. Tichy David J. Meder Inhalt Grundzüge der Konfigurationsverwaltung (KV) Revision

Mehr

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Einführung in git Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Ben Oswald 27. April 2014 Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist git?..................................... 1 1.2 Warum sollten

Mehr

Quellcodeverwaltung mit SubVersion

Quellcodeverwaltung mit SubVersion Access-Stammtisch-Stuttgart 06.05.2010 Quellcodeverwaltung mit SubVersion Thomas Möller, www.team-moeller.de Vorstellung Thomas Möller dipl. Sparkassenbetriebswirt Arbeit mit Access seit 1997 Seit 2000

Mehr

Frank Budszuhn. Subversion 1.4

Frank Budszuhn. Subversion 1.4 Frank Budszuhn Subversion 1.4 Auf einen Blick Vorwort... 15 Teil 1 Eine Einführung in Subversion 1 Einleitung... 21 2 Das Versionsmanagementsystem Subversion... 31 3 Der Entwicklungsprozess mit Subversion...

Mehr

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Einführung in Git Dirk Deimeke My own IT 19. August 2013 ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Inhalt 1 Etwas Theorie Basiswissen Git 2 Praxis Installation Erstes Repository Besonderheiten

Mehr

Seminar. Bachelor Wirtschaftsinformatik

Seminar. Bachelor Wirtschaftsinformatik Seminar Bachelor Wirtschaftsinformatik Generalthema: Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Versionierung von Java-Anwendungen mit Git Christian Ondreka Versionsverwaltung mit

Mehr

Contents. Subversion Einrichten. Vorbereitung Folgende Tools werden benötigt. Ladet diese herunter und befolgt die Installationsanweisungen.

Contents. Subversion Einrichten. Vorbereitung Folgende Tools werden benötigt. Ladet diese herunter und befolgt die Installationsanweisungen. Contents Subversion Einrichten 1 Vorbereitung 1 Public & Private key generieren 1 PuTTY konfigurieren 2 Repository einrichten 3 Subversion konfigurieren 3 Arbeiten mit TortoiseSVN 4 Subversion Einrichten

Mehr

Software Engineering. 14. Build und Deployment. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 14. Build und Deployment. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 14. Build und Deployment Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 14. Build und Deployment 2 Übersicht Dokumentation, Installationssoftware, etc. Source

Mehr

Methoden und Werkzeuge des Konfigurationsmanagements

Methoden und Werkzeuge des Konfigurationsmanagements Methoden und Werkzeuge des Konfigurationsmanagements Zunächst ein paar Fragen:! Was ist euer Bild des Konfigurationsmanagements?! Welche Aufgaben hat eurer Meinung nach das Konfigurationsmanagement?! Wer

Mehr

Git eine kurze Einführung. Malte Schmitz ~ Mai 2012

Git eine kurze Einführung. Malte Schmitz ~ Mai 2012 eine kurze Einführung ~ Mai 2012 Ziele dieses Vortrags 1. installieren und einrichten können. 2. Idee von verteilter Versionskontrolle verstehen. 3. Idee der nichtlinearen Entwicklung verstehen. 4. Mit

Mehr

Werkzeuge für das Softwarekonfigurationsmanagement

Werkzeuge für das Softwarekonfigurationsmanagement Werkzeuge für das Softwarekonfigurationsmanagement Hauptseminar Frank Herrmann Technische Universität Dresden Institut für Systemarchitektur Gliederung Ziele des Softwarekonfigurationsmanagements SCM-Standardwerkzeug

Mehr

Software Engineering 2 Versionsverwaltung

Software Engineering 2 Versionsverwaltung Software Engineering 2 Versionsverwaltung Prof. Dr. Axel Böttcher 7. Oktober 2012 Lernziele Die Grundlegenden Konzepte kennen Mit einem Versionsverwaltungssystem produktiv arbeiten können Ein geeignetes

Mehr

Linux im Studium. Serbest Hammade / Resh, Christian Sturm. Do, 15. November 2012

Linux im Studium. Serbest Hammade / Resh, Christian Sturm. Do, 15. November 2012 Linux im Studium Serbest Hammade / Resh, Christian Sturm Do, 15. November 2012 Linux Aufbau von Linux Distributionen Grafische Desktopumgebungen HFU & Linux Instant Messaging via Jabber (XMPP) HFU & Jabber

Mehr

Einführung in die Softwaretechnik 10. Konfigurationsmanagement

Einführung in die Softwaretechnik 10. Konfigurationsmanagement 10. Konfigurationsmanagement Klaus Ostermann (mit Folien von Christian Kästner) 1 Agenda Verteiltes Arbeiten Versionskontrolle Konzepte CVS / SVN Git Fehlerverwaltung mit Ticket-Systemen 2 Kooperation

Mehr

Subversion. 17. Oktober 2007. Subversion. Norbert Perk. Warum Versionsverwaltung? Wie funktioniert. Was ist Subversion? Subversion- Server.

Subversion. 17. Oktober 2007. Subversion. Norbert Perk. Warum Versionsverwaltung? Wie funktioniert. Was ist Subversion? Subversion- Server. 17. Oktober 2007 1 2 3 4 5 6 7 Hilfe und Info Herausforderungen bei gröÿeren Projekten auf ältere Versionen (undo, ) Verwaltung verschiedener Versionen Projekte mit mehreren Entwicklern gemeinsamer auf

Mehr

Konfigurationsmanagement

Konfigurationsmanagement Konfigurationsmanagement Versionsverwaltung Oktober 2012, Robert Kolb Themen Theorie Konfigurationsmanagement Versionierungsschema Varianten (Branches) Versionsverwaltung Praxis Konfigurationsmanagement

Mehr

Umstieg von CVS auf Subversion

Umstieg von CVS auf Subversion Umstieg von CVS auf Subversion Harl Heinz Marbaise Der Artikel wurde in der Ausgabe 3/2006 des Magazins Software Developer s Journal Extra publiziert. Alle Rechte vorbehalten. Kostenlose Vervielfältigung

Mehr

Versionsverwaltung mit Git

Versionsverwaltung mit Git Merlin Denker (348043), Stefan Srecec (293318) Betreuer: Thomas Ströder Abbildung 1: Git Logo[4] Dieser Ausarbeitung liegt das im Literaturverzeichnis unter [1] vermerkte Buch Pro Git von Scott Chacon

Mehr

SUBVERSION - DER NACHFOLGER FÜR CVS

SUBVERSION - DER NACHFOLGER FÜR CVS SUBVERSION - DER NACHFOLGER FÜR CVS Ersteller: Thomas Weber Datum: 16. Februar 2005 Version: 1.1 2004 Trivadis AG www.trivadis.com INHALTSVERZEICHNIS Motivation...2 Wie alles begann...2 Charakteristik...3

Mehr

Einführung in git. Johannes Gilger & Matthias Lederhofer. Rechen- und Kommunikationszentrum der RWTH Aachen Network Operation Center. 14.

Einführung in git. Johannes Gilger & Matthias Lederhofer. Rechen- und Kommunikationszentrum der RWTH Aachen Network Operation Center. 14. Johannes Gilger & Matthias Lederhofer der RWTH Aachen Network Operation Center 14. Juli 2010 Übersicht Begriffe in der Versionsverwaltung Unterschiede zentrale und dezentrale VCS Warum man git benutzen

Mehr

SVN-Tutorial für WEBMM7

SVN-Tutorial für WEBMM7 SVN-Tutorial für WEBMM7 SVN-Tutorial für WEBMM7... 1 Einleitung... 2 Grundprinzip von CVS... 2 Was ist Subversion?... 2 Unterschiede Subversion/CVS... 2 SmartSVN... 3 Installation / Einrichtung... 3 Update...10

Mehr

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

Subversion. von Stefan Arndt, Christian Autermann und Dustin Demuth. 5. November 2009 Subversion von Stefan Arndt, Christian Autermann und Dustin Demuth 5. November 2009 Inhaltsverzeichnis 1 Versionierung 1 1.1 Zweck von Versionierung................................. 1 1.2 Geschichtliches......................................

Mehr

Praktikum Entwicklung Mediensysteme (für Master)

Praktikum Entwicklung Mediensysteme (für Master) Praktikum Entwicklung Mediensysteme (für Master) Organisatorisches Today Schedule Organizational Stuff Introduction to Android Exercise 1 2 Schedule Phase 1 Individual Phase: Introduction to basics about

Mehr

Subversion in der Web-Entwicklung

Subversion in der Web-Entwicklung Subversion in der Web-Entwicklung Subversion Unterstützt durch CollabNet www.collab.net Aktuelle Version: 1.2.0 Unterstützte OS: Linux, Win, Mac OSX, u.a. Lizenztyp: Subversion (Apache Style) Website:

Mehr

Netbeans 6.1 mit SVN Server unter Debian etch mit Windows Clients

Netbeans 6.1 mit SVN Server unter Debian etch mit Windows Clients Netbeans 6.1 mit SVN Server unter Debian etch mit Windows Clients 1.1 JAVA 6 Installieren sudo gedit /etc/apt/sources.list und folgende zeilen hinzufügen deb http://www.backports.org/debian etch-backports

Mehr

CVS, Subversion und Darcs

CVS, Subversion und Darcs HTWK-Leipzig Fachbereich Informatik, Mathematik und Naturwissenschaften CVS, Subversion und Darcs Autor : Roland Gion rgion@imn.htwk-leipzig.de vorgelegt am: 18. Mai 2005 Fach: Betreuer: Oberseminar Softwareentwicklung

Mehr

git Alexander Bernauer Rico Schiekel

git Alexander Bernauer <alex@copton.net> Rico Schiekel <fire@downgra.de> git Alexander Bernauer Rico Schiekel Big Picture Beispiel Open-Source-Projekt öffentliches Repository öffentlicher Fork push fetch push Haupt- Entwickler fetch Contributer

Mehr

Verändern Die Arbeitskopie kann vom Benutzer beliebig modifiziert werden.

Verändern Die Arbeitskopie kann vom Benutzer beliebig modifiziert werden. 1 Grundlagen Was ist SVN? SVN ist ein freies Versionskontrollsystem, welches seit Beginn 2000 entwickelt wird. Es handelt sich dabei um freie Software, die unter der Apache-Lizenz 2.0 vertrieben wird.

Mehr

Gitting started. Christian Neukirchen. 14dec2011

Gitting started. Christian Neukirchen. 14dec2011 Gitting started Christian Neukirchen 14dec2011 Wieso Versionskontrolle? Erste Schritte Branches Zusammenarbeit Nicht-trivale Features GUI Ausblick Agenda Wieso Versionskontrolle? Den Verlauf eines Projekts

Mehr

Die Projek*ools. Files, Git, Tickets & Time

Die Projek*ools. Files, Git, Tickets & Time Die Projek*ools Files, Git, Tickets & Time Agenda Die Abgabe von Dokumenten: Files Das Pflegen von Software: Versionskontrolle mit Git Management von Anforderungen: Tickets Management von Zeit: Time Files

Mehr

Git II. Dezentrale Versionsverwaltung im Team

Git II. Dezentrale Versionsverwaltung im Team Git II Dezentrale Versionsverwaltung im Team Themenbereiche Arbeit mit Remote Repositories Austausch zwischen Repositories Änderungen rückgängig machen Zusammenarbeit über Workflows Git hat mehr als nur

Mehr

Verwaltung und Archivierung mit CVS CVS Einbettung in SNiFF+ Team Software Process

Verwaltung und Archivierung mit CVS CVS Einbettung in SNiFF+ Team Software Process Verwaltung und Archivierung mit CVS CVS Einbettung in SNiFF+ Team Software Process Seminar PGJEVOX Abgehalten im Freizeitheim Horn 25. 26. Mai 1999 Ausarbeitung von Peter Sklinski Einführung In dieser

Mehr

Prinzipielles zur Benutzung von Versionskontrollsystemen

Prinzipielles zur Benutzung von Versionskontrollsystemen SVN How-To Fragen, Anregungen oder Vorschläge an Jochen. SVN testen Wer erstmal ein bisschen mit Subversion rumspielen will, der kann sich ein lokales Repository anlegen. Wie das geht steht hier: http://www.codeproject.com/kb/winsdk/subversiononwindows.aspx

Mehr

So#ware Engineering Konfigura0onsmanagement

So#ware Engineering Konfigura0onsmanagement Konfigura0onsmanagement Klaus Ostermann (mit Folien von Chris0an Kästner) 1 Agenda } Verteiltes Arbeiten } Versionskontrolle } Konzepte } CVS / SVN } Git } Fehlerverwaltung mit Ticket- Systemen 2 So#warekonfigura0onsmanagement

Mehr

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press Valentin Haenel Julius Plenz Git Verteilte Versionsverwaltung für Code Dokumente 2. Auflage Open Source Press Inhaltsverzeichnis Vorwort 11 I Grundlagen 17 1 Einführung und erste Schritte 19 1.1 Grundbegriffe

Mehr

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Eine Einführung in das verteilte Quelltextverwaltungssystem Git Eine Einführung in das verteilte Quelltextverwaltungssystem Git B.Sc. Daniel Baulig Fachhochschule Frankfurt am Main University of Applied Sciences 2. November 2012 Übersicht 1 Einführung Über mich Versions-was?

Mehr

Verteilte Versionskontrolle mit Mercurial

Verteilte Versionskontrolle mit Mercurial Verteilte Versionskontrolle mit Mercurial Moderator Dirk Bielemeier GmbH DVCS? Praxis 1 Technik Geschichte, Vorteile, Abgrenzung, Vergleich Setup, Versionierung eines kleinen Projektes, Basisbefehle Hinter

Mehr

3.4 Konfigurationsmanagement (SCM)

3.4 Konfigurationsmanagement (SCM) 3.4 Konfigurationsmanagement (SCM) "Das KM stellt einen Mechanismus zur Identifizierung, Lenkung und Rückverfolgung der Versionen jedes Softwareelements dar. In vielen Fällen sind auch frühere, nach wie

Mehr

1 Software-Configurationsmanagement (SCM)

1 Software-Configurationsmanagement (SCM) Inhaltsverzeichnis Vorlesungsplan 1. Einstieg OO 2. Modellierung (UML) 3. Design (Designmuster) 4. Implementierung (GUI-Programmierung) 5. Spezifikation (Design by Contract) 6. Qualitätssicherung (Korrektheit,

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Wissenschaftliches Programmieren

Wissenschaftliches Programmieren Wissenschaftliches Programmieren álint Aradi cms/people/b_aradi/ 8. Versionsverwaltung für mehrere Entwickler Grundproblematik der parallelen Entwicklung Zwei Entwickler arbeiten am selben Projekt (an

Mehr

Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit

Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit Zentrale und Dezentrale Versionsverwaltung in Open Source Projekten Konzeptvorstellung Masterarbeit Jana von dem Berge Institut für Informatik FU Berlin 05.12.08 Zentrale und Dezentrale Versionsverwaltung

Mehr

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Git Workshop. LiWoLi 2012. Florian Preinstorfer. Wolfgang Silbermayr 25.05.2012. http://silwol.net. http://nblock.org

Git Workshop. LiWoLi 2012. Florian Preinstorfer. Wolfgang Silbermayr 25.05.2012. http://silwol.net. http://nblock.org Git Workshop LiWoLi 2012 Florian Preinstorfer http://nblock.org Wolfgang Silbermayr http://silwol.net 25.05.2012 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Austria license

Mehr

Versionskontrolle mit Subversion und Git

Versionskontrolle mit Subversion und Git Versionskontrolle mit Subversion und Git Dr. Paul Cochrane cochrane@rrzn.uni-hannover.de Dr. Paul Cochrane, Versionskontrolle mit Subversion und Git 20.09.2010 22.09.2010 Seite 1 1 Zum Kurs Einleitung

Mehr

SVN für CVS-Benutzer

SVN für CVS-Benutzer SVN für CVS-Benutzer If C gives you enough rope to hang yourself, think of Subversion as a sort of rope storage facility. Brian W. Fitzpatrick Inhalt 1. Überblick... 2 1.1. Kommandozeile... 2 1.2. Plattform...

Mehr