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

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

CVS. The open standard for version control. (Concurrent Versions System) Maik Zemann CVS CVS Maik Zemann CVS (Concurrent Versions System) The open standard for version control 1 Gliederung Gliederung Was ist CVS? Motivation? Konzept von CVS Die wichtigsten Befehle Merging Logging im Quelltext

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

CVS - Begriffe. Einführung in CVS

CVS - Begriffe. Einführung in CVS CVS - Concurrent Versions System Programm zur Versionskontrolle von Quellcode: Alle Versionsstände sind gespeichert. Die Änderungen sind nachvollziehbar. Alte Versionsstände lassen sich zurückholen. Mehrere

Mehr

Concurrent Versions System (CVS)

Concurrent Versions System (CVS) Concurrent Versions System (CVS) Siarhei Trushyn Proseminar Unix Tools TUM 22. November 2005 Gliederung 1 Einfuhrung 2 Archiv 3 Projekt mit CVS 4 Momentaufnahmen 5 Zusammenfassung Was ist CVS? Denition

Mehr

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer cs108 Programmierpraktikum Subversion Lukas Beck Cedric Geissmann Alexander Stiemer Probleme in der SW-Entwicklung Teamarbeit Gemeinsamer (und gleichzeitiger) Zugriff auf Ressourcen Dateiserver Datenverlust

Mehr

Das Concurrent Versions System (CVS)

Das Concurrent Versions System (CVS) Versionenkontrolle Das Concurrent Versions System (CVS) Vortrag im Proseminar Unix Tools 1 Markus Sander sander@in.tum.de 07.06.2005 Versionenkontrolle Gliederung 1 Versionenkontrolle 2 Versionenkontrolle

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

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

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung Versionsverwaltung für die KU Betriebssysteme Eine Einführung 1 1 Versionsverwaltung? Wozu? Nachvollziehbarkeit Wer hat was wann geändert Wiederherstellbarkeit kaputteditiert Wartbarkeit Verschiedene Versionen

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

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

8. Dokumentenverwaltung mit CVS eine Einführung

8. Dokumentenverwaltung mit CVS eine Einführung 8. Dokumentenverwaltung mit CVS eine Einführung 8.1 Warum CVS? 8.2 Basiskonzepte 8.3 Vorbereitungen 8.4 Anlegen eines neuen Projekts 8.5 Bearbeiten eines Projekts 8. Dokumentenverwaltung mit CVS 8-1 8.1

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Versionskontrolle 1 / 30 Versionskontrolle Matthias Meitner Marc Spisländer Lehrstuhl für Software Engineering

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

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

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05] Inhaltsverzeichnis 1 Einleitung 3 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]....... 4 1.2 Eclipse als Java Entwicklungsumgebung................. 21 1 Einleitung Versionierung mit CVS Eclipse

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

Einführung in Subversion

Einführung in Subversion Einführung in Subversion Benjamin Seppke AB KOGS Dept. Informatik Universität Hamburg Was ist Subversion? Ein Server-basiertes Versions-Verwaltungs- System Ermöglicht mehreren Benutzern die gemeinsame

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

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

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014 Versionsverwaltung von Softwareartefakten 21. Oktober 2014 Überblick Wie verwaltet man Softwareartefakte? Versionskontrolle für verschiedene Softwareartefakte: Anforderungsdokumente, Modelle, Code, Testdateien,

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

Revision Control System. Versionskontrolle

Revision Control System. Versionskontrolle Versionskontrolle Software-Versionen Was habe ich geändert? Alles Quatsch, alles zurück... Wie fixe ich den Bug in Version 1.0 im Feld? Wie integriere ich den gerade eingetroffenen Bugfix für Version 3.6

Mehr

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

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS 2012. Lehrstuhl i9, Prof. Dr. T. Versionsverwaltung GIT & SVN Alexander aus der Fünten Proseminar: Methoden und Werkzeuge, SS 2012 Lehrstuhl i9, Prof. Dr. T. Seidl RWTH Aachen Ablauf Was ist Versionsverwaltung? Arbeitsmodelle Lokale,

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

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

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

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

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther Versionsverwaltung mit Git Linux Cafe 2013 11 11 Referent: Bernd Strößenreuther mailto:linux cafe@stroessenreuther.net Lizenz Sie dürfen dieses Dokument verwenden unter den Bedingungen der Creative Commons

Mehr

Proseminar Unix-Tools CVS. 19.11.2002 Daniel Weber & Zhen Zhang Betreuer: Volker Baier

Proseminar Unix-Tools CVS. 19.11.2002 Daniel Weber & Zhen Zhang Betreuer: Volker Baier Proseminar Unix-Tools CVS 19.11.2002 Daniel Weber & Zhen Zhang Betreuer: Volker Baier Was ist CVS? Was leistet CVS? ermöglicht Revisionsverwaltung für Projekte arbeitet auf ganzen Verzeichnisbäumen zentrales

Mehr

filp-r: Wmmmilt mmmmmmmmmmmmmmmm Galileo Computing

filp-r: Wmmmilt mmmmmmmmmmmmmmmm Galileo Computing filp-r: Wmmmilt mmmmmmmmmmmmmmmm Galileo Computing Inhalt Vorwort 15 Vorwort zur zweiten Auflage 17 1 Einleitung 21 1.1 Zielgruppe des Buchs 21 1.2 Aufbau des Buchs 21 1.3 Anforderungen an den Leser 23

Mehr

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaretechnik (Allgemeine Informatik) Überblick Softwaretechnik (Allgemeine Informatik) Überblick 1 Einführung und Überblick 2 Abstraktion 3 Objektorientiertes Vorgehensmodell 4 Methoden der Anforderungs- und Problembereichsanalyse 5 UML-Diagramme 6

Mehr

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion Versionskontrolle mit Subversion Dipl.-Inf. (FH) Jan Fader 14. März 2008 Dipl.-Inf. (FH) Jan Fader Versionskontrolle mit Subversion 14. März 2008 1 / 10 Einführung Vorteile eines Versionskontrollsystems

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

Einführung in Subversion. Tutorium SWP

Einführung in Subversion. Tutorium SWP Einführung in Mehrere Personen arbeiten am gleichen Dokument Probleme: Austausch/Integration der Ergebnisse? Überlappende Arbeitsbereiche? Datensicherung? Kommunikation? Wer hat was geändert? Einführung

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

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

WinCVS Version 1.3. Voraussetzung. Frank Grimm fgr@micenet.de http://www.micenet.de. Mario Rasser mario@rasser-online.de http://www.rasser-online.

WinCVS Version 1.3. Voraussetzung. Frank Grimm fgr@micenet.de http://www.micenet.de. Mario Rasser mario@rasser-online.de http://www.rasser-online. WinCVS Version 1.3 Frank Grimm fgr@micenet.de http://www.micenet.de Mario Rasser mario@rasser-online.de http://www.rasser-online.de Voraussetzung 1. Installation von Python (Version >= 2.1) Download von

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

Framework zur Unterstützung von Unit-Tests

Framework zur Unterstützung von Unit-Tests JUnit Framework zur Unterstützung von Unit-Tests Automatisierte Ausführung von Tests Ideen dahinter Testgetriebene Entwicklung: Erst testen, dann programmieren Alle Testfälle häufig ausführen (nach jeder

Mehr

Einfu hrung in Subversion mit TortoiseSVN

Einfu hrung in Subversion mit TortoiseSVN Einfu hrung in Subversion mit TortoiseSVN Inhalt Konzept... 1 Begriffe... 1 Werkzeuge... 2 Arbeiten mit TortoiseSVN... 2 Vorbereitung... 2 Erster Checkout... 2 Hinzufügen eines neuen Verzeichnisses...

Mehr

Git - Fast Version Control System

Git - Fast Version Control System Git - Fast Version Control System Sebastian Harl Astronomisches Institut der Universität Erlangen-Nürnberg 17. Oktober 2008 Was ist Git? VCS (Version Control

Mehr

Sourcecodeverwaltung

Sourcecodeverwaltung Subversion SEP 20 Sourcecodeverwaltung zentrale Verwaltung des Sourcecodes unablässig bei Gruppenarbeit offensichtlich schlecht: Code per Email herumschicken: Aktualität, Vollständigkeit Code in Verzeichnis

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

Übersicht. Versionsverwaltung. Ein Lösungsansatz. Wozu Versionsverwaltung? Überblick, CVS. Repository und Arbeitsverzeichnis

Übersicht. Versionsverwaltung. Ein Lösungsansatz. Wozu Versionsverwaltung? Überblick, CVS. Repository und Arbeitsverzeichnis Übersicht Überblick, CVS Repository und Arbeitsverzeichnis Versionsverwaltung Änderungen ins Repository laden Tags und Branches Teamwork CVS-Tools mit GUI Mehr zu CVS Quellen und weitere Infos 1 2 Wozu

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

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

Praktische Softwaretechnologie Vorlesung 6

Praktische Softwaretechnologie Vorlesung 6 Praktische Softwaretechnologie Vorlesung 6 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 28. November 2006 p.1/41 Versionsverwaltung

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

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

3. Versions- und Konfigurationsmanagement. Typischer Weg der Software-Entwicklung 3. Versions- und Konfigurationsmanagement Typischer Weg der Software-Entwicklung Inkrementelle Entwicklungsschritte Varianten der Versionskontrolle Repository Typischer Arbeitszyklus Auflösung von Konflikten

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

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

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Josef Adersberger Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg 19. Januar 2009 Inhalt Versionskontrolle

Mehr

Software(technik)praktikum: SVN-Tutorial

Software(technik)praktikum: SVN-Tutorial 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

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

Moodle aktuell halten mit Git

Moodle aktuell halten mit Git Moodle aktuell halten mit Git 3a 1 2 3b 3c 4c Vorstellung Andreas Grabs Softwareentwickler Seit 2010 Moodle Core- Entwickler Freier Mitarbeiter eledia GmbH Inhalt Allgemeines Allgmeine Vorteile Vorteile

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

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

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

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

... Vorwort... 15... Vorwort zur 2. Auflage... 16... Vorwort zur 3. Auflage... 17... Der Autor... 17

... Vorwort... 15... Vorwort zur 2. Auflage... 16... Vorwort zur 3. Auflage... 17... Der Autor... 17 ... Vorwort... 15... Vorwort zur 2. Auflage... 16... Vorwort zur 3. Auflage... 17... Der Autor... 17 1... Einleitung... 21 1.1... Zielgruppe des Buchs... 21 1.2... Aufbau des Buchs... 22 1.3... Anforderungen

Mehr

Versionsverwaltung mit SVN

Versionsverwaltung mit SVN Ingo Sieverdingbeck (ingsie@informatik.uni-bremen.de) Jasper van den Ven (jasper@informatik.uni-bremen.de) AG Rechnernetze Universität Bremen C/C++-Vorkurs 2008 Gliederung 1 Wozu Versionsverwaltung? Ältere

Mehr

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

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK Mercurial or how I learned to stop worrying and love the merge Ted Naleid Inhalt Einleitung Vergleich SVN / Mercurial Mercurial verstehen Zusammenarbeit mit Mercurial Demo Mercurial - Intro Entwickelt

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 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

Informationen zur Installation und Nutzung von Subversion (SVN)

Informationen zur Installation und Nutzung von Subversion (SVN) Informationen zur Installation und Nutzung von Subversion (SVN) Ansprechpartner im Rechenzentrum bei Problemen ist Herr Eike Armbrust (Rechenzentrum; eike.armbrust@ostfalia.de; 939-19410) Auf den Seiten

Mehr

Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P)

Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P) Systempraktikum im Wintersemester 2009/2010 (LMU): Zum Selbststudium Foliensatz 0 Systemprogrammierung: Erste Schritte (P) Das Manpage-System (P) Versionsverwaltung mit Subversion (P) Dr. Thomas Schaaf,

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

Versionskontrollsysteme. Uwe Berger & Markus Dahms

Versionskontrollsysteme. Uwe Berger & Markus Dahms <bralug@bralug.de> 1 Gliederung 1. Der Begriff 2. Aufgaben & Einsatzmöglichkeiten 3. Zentrale Konzepte 4. Bekannte Vertreter 5. Grafische Oberflächen 6. Quellen und Links 2 Der Begriff engl. Version Control

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

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

JUnit (Version 4.x) Framework zur Unterstützung von Unit-Tests. Wir verwenden nicht JUnit 3.x. Ideen dahinter. Test-Methode

JUnit (Version 4.x) Framework zur Unterstützung von Unit-Tests. Wir verwenden nicht JUnit 3.x. Ideen dahinter. Test-Methode JUnit (Version 4.x) Framework zur Unterstützung von Unit-Tests Automatisierte Ausführung von Tests Wir verwenden nicht JUnit 3.x Erfordert anderes Programmierkonzept Ideen dahinter Testgetriebene Entwicklung:

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

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

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

Versionsverwaltung mit Mercurial für Einsteiger

Versionsverwaltung mit Mercurial für Einsteiger Versionsverwaltung mit Mercurial für Einsteiger Chemnitzer Linuxtage 2009 Stefan Schwarzer, SSchwarzer.com info@sschwarzer.com Chemnitz, Germany, 2009-03-14 Versionsverwaltung mit Mercurial für Einsteiger

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

Fachhochschule Bochum

Fachhochschule Bochum http://www.fh-bochum.de/fb6/ EDV-Labor Prof. Dr. Bernd Blümel Christian Metzger Seite 1 01.07.2003 Inhaltsverzeichnis 1. Begriffserklärungen:... 3 2. Installation:... 4 3. Voreinstellung von CVSROOT unter

Mehr

Konfigurationsmanagement

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

Mehr

Versionierung und Bugtracking mit Git(Hub)

Versionierung und Bugtracking mit Git(Hub) Semesterprojekt Verteilte Echtzeitrecherche in Genomdaten Versionierung und Bugtracking mit Git(Hub) Marc Bux (bux@informatik.hu-berlin.de) Ziele der Versionierung Revisionsgeschichte eines Projekts erhalten

Mehr

Einführung in Subversion

Einführung in Subversion zentrale Speicherung im Magazin (repository) beliebig viele Arbeitsbereiche (working copy) Vorteile: mehrere Benutzer gleichzeitig effektiver durch Parallelität bei disjunkten (Zeilen-)Bereichen werden

Mehr

Team- Entwicklung unter Eclipse

Team- Entwicklung unter Eclipse In dieser Starthilfe Team-Entwicklung mit CVS Anbinden von Eclipse an den CVS Server Einchecken eines vorhandenen Projektes Erzeugen einer Revision Verwalten der Revisionen einer Ressource Ersetzen 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

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

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

Software Configuration Management (SCM)

Software Configuration Management (SCM) Vorlesung Softwaretechnologie 2007/8 Dr. Günter Kniesel R O O T S Software Configuration Management (SCM) SCM-Motivation SCM-Grundlagen SCM-Werkzuge: CVS und SVN Einrichten des Subversive-Plugins für Eclipse

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

Programmierung im Grossen. Vorlesung 22: Konfigrationsmanagement. Themenübersicht. Bertrand Meyer. Bernd Schoeller bernd.schoeller@inf.ethz.

Programmierung im Grossen. Vorlesung 22: Konfigrationsmanagement. Themenübersicht. Bertrand Meyer. Bernd Schoeller bernd.schoeller@inf.ethz. 1 Letzte Aktualisierung: 29. Juli 2004 Programmierung im Grossen Bertrand Meyer 2 Vorlesung 22: Konfigrationsmanagement Bernd Schoeller bernd.schoeller@inf.ethz.ch Themenübersicht 3 Motivation Was ist

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 mit CVS bzw. Subversion

Versionsverwaltung mit CVS bzw. Subversion 28. November 2005 Dominik Denker Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 2 1.1 Versionsverwaltung.............................

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

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

Informationen zur Installation und Nutzung von Subversion (SVN)

Informationen zur Installation und Nutzung von Subversion (SVN) Informationen zur Installation und Nutzung von Subversion (SVN) Ansprechpartner im Rechenzentrum bei Problemen ist Herr Eike Armbrust (Rechenzentrum; eike.armbrust@ostfalia.de; 939-19410) Auf den Seiten

Mehr

Versionierung und Dateistruktur

Versionierung und Dateistruktur Versionierung und Dateistruktur Tobias Strohmeyer Berlin, 15.09.2015 Agenda 1. Einordnung in ITSM 2. Varianten für die Versionierung 3. Integration von Subversion 4. Nutzung bei der Entwicklung 5. Dateistruktur

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

Wie benutzt man TortoiseSVN

Wie benutzt man TortoiseSVN Wie benutzt man TortoiseSVN 1 Inhaltsverzeichnis 1.Benötigte Vorkenntnisse...3 2.Benötigte Software...3 3.Schritt 1 Software installieren...3 4.Schritt 2 einen Ordner anlegen...3 5.Schritt 3 Projekt auschecken...4

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

Versionskontrolle mit Subversion. Carnot 6.0

Versionskontrolle mit Subversion. Carnot 6.0 Versionskontrolle mit Subversion Carnot 6.0 1 Sourceforge... 3 1.1 Ordnerstruktur repository-browser... 4 2 Arbeiten mit TortoiseSVN... 4 2.1 Lokale Arbeitskopie erstellen... 5 2.2 Dateien hinzufügen /

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

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