Versionsverwaltungen

Größe: px
Ab Seite anzeigen:

Download "Versionsverwaltungen"

Transkript

1 Versionsverwaltungen Holger Jakobs Inhaltsverzeichnis 1 RCS Das RCS-Verzeichnis Erzeugen der ersten Version einer neuen Datei Auschecken einer Version Auschecken einer Kopie Auschecken zum Ändern Bearbeiten und erneutes Einchecken Sonderfunktionen Versionsvergleich Auschecken einer früheren Version Schlüsselwort-Ersetzung Die Entstehungsgeschichte einer Datei CVS Das CVS-Repository Aufnehmen eines Projekts in CVS Auschecken eines Projekts Einchecken einer neuen Version Aktualisieren der eigenen Dateien Hinzufügen von Dateien Verzweigungen Sonderfunktionen Versionsvergleich Auschecken einer früheren Version Sprung auf eine neue (Haupt-)Revision Schlüsselwort-Ersetzung Löschen eines Projekts Weiterführendes Subversion 14 1

2 1 RCS 1 RCS Revision Control System Das Revision Control System (RCS) ist ein System zur Verwaltung von Versionen von ASCII-Dateien, meist Quelltexten. Mit Hilfe diese Systems ist es möglich, frühere Versionen von Dateien jederzeit wieder herzustellen. Darüber hinaus wird auch verhindert, dass verschiedene Personen gleichzeitig an der selben Datei Änderungen vornehmen. RCS ist sozusagen eine freie Variante von SCCS, dem Source Code Control System, das bei allen echten Unix-Systemen dabei ist, aber nicht als freie Software existiert. RCS gibt es sowohl auf kommerziellen Unixen als auch auf freien wie Linux und BSD und auch für Windows. Bei RCS muss eine Datei mit der Option -l ausgecheckt werden, um Änderungen vornehmen zu dürfen. Solange die Datei für einen bestimmten Benutzer ausgecheckt ist, darf kein anderer die Datei zum Ändern auschecken. Nur der Benutzer, der die Datei ausgecheckt hat, darf sie auch wieder einchecken überlicherweise mit einigen Änderungen. Die Sperren auf die Dateien sind nicht absolut, es ist also schon ein entsprechendes Verhalten der Team-Mitglieder notwendig. Sperren können auch entfernt werden, allerdings erhält der Benutzer, dessen Sperre entfernt wurde, eine Mail mit einer entsprechenden Mitteilung. Hinweis: Hier werden nur die Grundzüge des Systems erläutert. Für eine vollständige Erläuterung auch fortgeschrittener Optionen schauen Sie bitte in die man-pages des jeweiligen Kommandos. 1.1 Das RCS-Verzeichnis Man sollte im Verzeichnis, in dem Dateien mittels RCS verwaltet werden sollen, ein Unterverzeichnis namens RCS anlegen, damit die Versionsverwaltungsdateien nicht im aktuellen Verzeichnis herumliegen und Verwirrung stiften. Sobald ein solches Verzeichnis existiert, wird es von den RCS-Kommandos benutzt. 1.2 Erzeugen der ersten Version einer neuen Datei Nachdem man die erste Version einer Datei beispiel.c erzeugt hat, checkt man sie ein mittels ~> ci beispiel.c RCS/beispiel.c,v <-- beispiel.c enter description, terminated with single. or end of file: NOTE: This is NOT the log message! >>. initial revision: 1.1 2

3 1 RCS 1.3 Auschecken einer Version Es wird angezeigt, dass die Datei beispiel.c in der Versionsdatei RCS/beispiel.c,c abgelegt wird. Es wird nach einer Beschreibung gefragt, die durch eine Eingabe eines einzelnen Punktes auf einer Zeile beendet wird (ähnlich wie die Eingabe ins mail-kommando). Hier wurde nichts eingegeben, d. h. sofort ein Punkt eingegeben. Die Version ist die allererste (Initialversion), die üblicherweise die Nummer 1.1 trägt. Achtung: Es gibt niemals irgendwelche X.0-Versionen, sondern es wird immer mit 1 begonnen! Nun werden Sie feststellen, dass die Originaldatei weg ist. Benötigen Sie sie, z. B. um sie zu compilieren, dann müssen Sie sie wieder auschecken. 1.3 Auschecken einer Version Um eine Datei auszuchecken, verwendet man das Kommando co, wobei anzugeben ist, ob man nur eine Kopie haben möchte (an der man kein Schreibrecht bekommt) oder ob man die Datei bearbeiten und später wieder als neue Version einchecken möchte Auschecken einer Kopie Das Auschecken einer Kopie zu Compilationszwecken geschieht mit einfachem ~> co beispiel.c RCS/beispiel.c,v --> beispiel.c revision 1.1 ~>ll beispiel.c -r--r--r-- 1 fritz users 64 Feb 14 14:29 beispiel.c Hier bekommt der Anwender eine Datei ohne gesetzte Schreibrechte, so dass er sie nicht versehentlich überschreiben kann Auschecken zum Ändern Möchte man die Datei zur Bearbeitung auschecken, muss man die Option -l (l=lock, Sperre) verwenden. Dann hat man auch Schreibrechte. Hat man die Datei vorher als Kopie ausgecheckt, wird diese Datei (obwohl man eigentlich keine Schreibrechte darauf hat) ersetzt. ~> co -l beispiel.c RCS/beispiel.c,v --> beispiel.c revision 1.1 (locked) ~>ll beispiel.c -rw-r--r-- 1 fritz users 64 Feb 14 14:29 beispiel.c 3

4 1.4 Bearbeiten und erneutes Einchecken 1 RCS Andere Benutzer können diese Datei jetzt nicht mehr zur Änderung auschecken, aber sie können sie lesen, d. h. ohne Änderungsrecht auschecken. Die Zeit der gesetzten Sperre sollte man natürlich möglichst kurz halten. Stellt man fest, dass man doch keine Änderungen an der Datei vornehmen möchte, so kann man die Sperre mit folgendem Kommando wieder entfernen: ~> ci -u beispiel.c RCS/beispiel.c,v <-- beispiel.c file is unchanged; reverting to previous revision Bearbeiten und erneutes Einchecken Nun nimmt man die gewünschten Änderunen an der Datei vor und checkt sie wieder ein. Es wird eine neue Version erzeugt, deren Nummer automatisch hochgezählt wird. ~> ci beispiel.c RCS/beispiel.c,v <-- beispiel.c new revision: 1.2; previous revision: 1.1 enter log message, terminated with single. or end of file: >>. Genau wie beim ersten Einchecken kann man auch hier einen Kommentar (log message) eingeben, so dass später nachvollzogen werden kann, aus welchem Grund die Änderung notwendig war bzw. was evtl. verbessert oder ergänzt wurde. 1.5 Sonderfunktionen Der übliche Gang der Dinge ist die kontinuierliche Weiterentwicklung einer Datei, so dass ständig neue Versionen eingecheckt werden. Gelegentlich kann es aber vorkommen, dass man auch auf ältere Versionen zurückgreifen muss oder möchte, dass man Versionen vergleichen will oder ähnliches. Noch einmal der Hinweis, dass hier nur ein Bruchteil der Möglichkeiten des RCS gezeigt wird, das Lesen der man-pages also unverzichtbar ist, wenn man über diese grundlegenden Funktionen hinaus mit RCS arbeiten will Versionsvergleich Zum Versionsvergleich verwendet man am besten ein Tool wie tkdiff 1, denn es checkt die zu vergleichenden Versionen automatisch in temporäre Dateien aus. Hat man ausgecheckt und etwas an der Datei geändert, kann man mit tkdiff die Änderungen sichtbar machen. 4

5 1 RCS 1.5 Sonderfunktionen Abbildung 1: Screenshot von tkdiff tkdiff wird mit dem Dateinamen als Parameter aufgerufen und vergleicht die Datei mit ihrer letzten eingecheckten Version. Das kann dann so aussehen wie in Abbildung 1. Ohne ein Tool wie tkdiff muss man manuell die alte Version auschecken und mit einem Tool wie diff (Standard-Unix-Tool) vergleichen. Das ist aber bei weitem nicht so komfortabel. Es gibt hierzu auch noch ein weiteres Tool rcsdiff, aber auch dies arbeitet nur auf der Kommandozeile Auschecken einer früheren Version Normalfall ist, dass beim Auschecken die aktuellste Version geholt wird. Möchte man aus irgendeinem Grund einmal auf einer ältere Version zurückgreifen, z. B. um diese als Softwarepröbchen zu verteilen oder daran noch Bugfixes (Korrekturen) vorzunehmen, ohne dem Kunden direkt die neueste Version zu geben, checkt mit mit der Option -r aus: ~> co -r1.2 beispiel.c RCS/beispiel.c,v --> beispiel.c revision 1.2 Auch frühere Versionen kann man mit -l zum Ändern auschecken, aber Vorsicht: Beim erneuten Einchecken wird ein neuer Zweig (branch) erzeugt, denn die Änderungen kann man ja nicht nachträglich in die normale Versionsfolge einbauen: 1) 5

6 1.5 Sonderfunktionen 1 RCS ~> ci beispiel.c RCS/beispiel.c,v <-- beispiel.c new revision: ; previous revision: 1.2 enter log message, terminated with single. or end of file: >>. So kann es aussehen, wenn man von früheren Versionen neue Zweige erzeugt: Schlüsselwort-Ersetzung RCS definiert eine ganze Reihe von Schlüsselwörtern (keywords), die beim Auschecken automatisch ersetzt werden. Diese dienen dazu, sowohl die Datei als auch die Version, die Autoren und weitere Informationen in den Quelltext einzutragen. Auf diese Weise kann man sich leicht eine garantiert fehlerfreie Anzeige der Programmversion (z. B. bei Aufruf des Programms mit der Option --version) einbauen. Um sie zu benutzen, muss man sie lediglich in den Quelltext eintragen z. B. in Kommentaren oder auch in der Initialisierung von Zeichenketten. Die Schlüsselwörter sind alle dadurch gekennzeichnet, dass sie zwischen Dollarzeichen geschrieben werden. Die gängigsten Schlüsselwörter sind in Tabelle 1 auf der nächsten Seite aufgeführt; weitere sehen in der man-page zu co) Die Entstehungsgeschichte einer Datei Möchte man sich über die Entstehungsgeschichte einer Datei informieren und hat kein $Log: $ verwendet, so kann man sich doch die gesamte Geschichte erzählen lassen. Dazu gibt es das Kommando rlog: ~>rlog beispiel.c Es werden zunächst allgemeine Angaben gemacht wie die Nummer der neuesten Revision und die Beschreibung der Datei. Dann werden, jeweils durch eine Linie getrennt, die einzelnen Revisionen chronologisch rückwärts aufgeführt mit Revisionsnummer, Datum/ 6

7 2 CVS Tabelle 1: gängige RCS-Schlüsselwörter $Author: $ Benutzerkennung desjenigen, der die Version eingecheckt hat $Date: $ Datum/Zeit des Eincheckens $Header: $ alle wichtigen Informationen zusammen $Id: $ wie $Header: $, aber ohne absoluten Pfad $Log: $ die gesammelten Log-Meldungen, zu deren Eintragung man beim Einchecken jedes Mal aufgefordert wird Zeit, Benutzerkennung des Eincheckers, der Anzahl der hinzugekommen und entfernten Zeilen (gegenüber der vorigen Revision) sowie der Log-Message. Lesen Sie in der Originalliteratur nach, wenn Sie glauben, noch mehr solcher Funktionen zu benötigen. 2 CVS Concurrent Versions System CVS 2., das Concurrent Versions System, basierte früher auf RCS (siehe Abschnitt 1 auf Seite 2, kann aber mehr. Die über RCS hinausgehenden Eigenschaften sind hier skizziert. Es werden nicht mehr einzelne ASCII-Dateien, sondern ganze Verzeichnisse (sogenannte Projekte) verwaltet. Tatsächlich sind es sogar ganze Verzeichnisbäume, d. h. das Projekt kann aus mehreren Unterverzeichnissen bestehen. Es können mehrere Entwickler gleichzeitig ohne Aus- und Einchecken an Texten arbeiten. Es gibt keine Sperren mehr. CVS funktioniert auch über Netze, d. h. Entwicklergemeinschaften können über das Internet verbunden sein. Tatsächlich wird ein Großteil der Open-Source-Software von Entwicklergruppen erstellt, 2) Original-Hilfe unter 7

8 2.1 Das CVS-Repository 2 CVS die nur über das Internet kommunizieren. Eine ständige Verbindung zum Internet ist übrigens nicht notwendig. Gerade der zweite Punkt klingt ziemlich nach Zauberei, basiert aber auf der Grundannahme, dass es bei einem Projekt Zuständigkeiten gibt und daher nicht mehrere Entwickler dieselben Stellen in den Quelltexten bearbeiten. CVS soll übrigens ausdrücklich nicht die Kommunikation zwischen Entwicklern ersetzen. Wenn Entwickler verantwortungsbewusst arbeiten, sind dann die Änderungen, die sie durchführen, üblicherweise disjunkt, d. h. sie sind unabhängig voneinander. Solche Änderungen können dann vollautomatisch zusammengeführt werden. Sollten doch einmal Konflikte auftreten, so müssen sie von den Beteiligten auf verantwortungsvolle Weise aufgelöst werden, was von einem Tool wie TkDiff 3 gut unterstützt wird, siehe auch Abbildung 1 auf Seite Das CVS-Repository Grundlage für das Arbeiten mit CVS ist das CVS-Repository, ein Speicherort (der auch im Netz sein darf), an dem alle erstellten Texte zentral gespeichert werden. Um damit arbeiten zu können, muss man eine Umgebungsvariable namens CVSROOT anlegen, die auf das Verzeichnis zeigt. Dieses Verzeichnis muss für alle Projektbeteiligten offen sein (rwx). Beispiel: export CVSROOT=$HOME/CVS-Wurzel Die Variable CVSROOT darf nicht direkt auf $HOME zeigen, sondern nur auf ein Verzeichnis darunter oder außerhalb davon. Um aus diesem Verzeichnis ein CVS-Repository zu machen, muss man einmal das Kommando cvs init eingeben. Es werden einige Dateien und Unterverzeichnisse erzeugt. 2.2 Aufnehmen eines Projekts in CVS Um ein Projekt unter die Verwaltung von CVS zu stellen, wechselt man ins Verzeichnis des Projekts und gibt folgendes Kommando ein: ~/projekt1> cvs import -m "Beispielprojekt" testprojekt beispiel start import ist das CVS-Kommando zum Importieren eines neuen Projekts. -m "..." steht für Logging Message, läßt man diese Option weg, so wird ein Editor (meist vi) geöffnet, um nach dieser Nachricht zu fragen. testprojekt ist der Name des Projekts, d. h. des Unterverzeichnisses, unter dem es im CVS-Repository gespeichert wird. Dieser Projektname muss eindeutig sein; es wird auch der Name des Verzeichnisses, in dem man sein Projekt lokal gespeichert hat. beispiel und start sind die Vendor und Release Tags, die bei einfachen Projekten keine weitere Bedeutung haben und hier nicht weiter erläutert werden sollen. CVS wird mit Importmeldungen für die importierten Dateien antworten. Diese bleiben aber im Gegensatz zu RCS im lokalen Verzeichnis erhalten und werden auch nicht gesperrt. 3) 8

9 2 CVS 2.3 Auschecken eines Projekts Das eingecheckte Verzeichnis kann man anschließend komplett löschen; es wird nicht mehr benötigt. Zum Arbeiten checkt man das Projekt unter Angabe seines Namens aus. Nun hat man ein unter der Verwaltung von CVS stehendes Verzeichnis mit demselben Namen wie das Projekt (erkennbar am Unterverzeichnis CVS, an dem man nicht fummeln sollte!). ~/projekt1> cd.. ~> cvs checkout testprojekt cvs checkout: Updating testprojekt U testprojekt/beispiel.c ~> cd testprojekt ~/testprojekt> ll insgesamt 2 drwxr-xr-x 2 benutzer users 1024 Feb 7 15:14 CVS -rw-r--r-- 1 benutzer users 210 Feb 7 14:42 beispiel.c Hier ist im Projekt nur eine Datei, beispiel.c, vorhanden. 2.3 Auschecken eines Projekts Möchte jetzt noch ein weiterer Entwickler am Projekt mitarbeiten, so holt er sich ebenfalls eine Kopie des Repository-Inhalts auf seinen Rechner bzw. in sein Verzeichnis mit ~> cvs checkout testprojekt Das erzeugt im aktuellen Verzeichnis ein Unterverzeichnis testprojekt mit allen vorher eingecheckten Dateien und einem Unterverzeichnis CVS, das man tunlichst nicht verändert. Dieses Auschecken können natürlich beliebig viele Entwickler tun. An den ausgecheckten Dateien können nun Änderungen vorgenommen werden, wobei man sich mit den anderen Entwicklern absprechen sollte rein organisatorisch, nicht technisch. 2.4 Einchecken einer neuen Version Nach Weiterentwicklung und Austesten sollte man die eigenen Ergebnisse ins zentrale Repository zurückchecken. Dies kann jeder der Entwickler jederzeit tun. /testprojekt> cvs commit -m "Superverbesserung" Es werden Änderungen an allen Dateien des Projekts zurückgespielt. Voraussetzung ist, dass kein anderer Entwickler zwischenzeitlich Änderungen an denselben Dateien vorgenommen hatte, denn das würde dazu führen, dass man die Änderungen erst in seinen eigenen Arbeitsbereich überführen müsste, um eventuelle Konflikte aufzuspüren und diese aufzulösen. Wenn gemeckert wird, aktualisiert man also zuerst mit cvs update (siehe Abschnitt 2.5 auf der nächsten Seite) und löst ggf. vorhandene Konflikte auf. 9

10 2.5 Aktualisieren der eigenen Dateien 2 CVS 2.5 Aktualisieren der eigenen Dateien Um Änderungen, die andere Entwickler gemacht haben, ins eigene Verzeichnis zu übernehmen, verwendet man ~/testprojekt> cvs update In den meisten Fällen wird das Zusammenführen der Änderungen (merge) automatisch durchgeführt. Aber auch hier können Konflikte auftreten, die dann in den jeweiligen Quelltexten markiert werden, so dass sie mit einem gewöhnlichen Editor bearbeitet werden können. Bequemer geht das Auflösen der Konflikte aber mit einem Tool wie TkDiff 4, siehe auch Abbildung 1 auf Seite 5. So sieht eine Meldung aus, wenn es Konflikte gibt: Merging differences between and 1.2 into foo.c rcsmerge: warning: conflicts during merge cvs update: conflicts found in foo.c C foo.c In der Datei sieht der Vermerk des Konflikt so aus: void foo() { printf("foo\n"); <<<<<<< foo.c printf("too\n"); ======= printf("you\n"); >>>>>>> 1.2 } Hier muss man sich also zwischen TOO und YOU entscheiden und die überzähligen Zeilen löschen. Wenn die Konflikte aufgelöst sind, kann man konfliktfrei und damit erfolgreich seine eigenen Änderungen wieder ins zentrale Repository zurückspielen. 2.6 Hinzufügen von Dateien Ein Projekt wächst, d. h. die bei Projektbeginn eingecheckte Anzahl von Dateien wird sich verändern. Um eine neue Datei ins Projekt aufzunehmen, erzeugt man diese ganz normal und fügt sie dann hinzu mittels ~/testprojekt> cvs add dateiname Beim nächsten commit wird die Datei dann allen anderen Entwicklern zur Verfügung gestellt. 4) 10

11 2 CVS 2.7 Verzweigungen 2.7 Verzweigungen Auch in CVS kann man wie in RCS und SCCS Zweige erstellen, um abgewandelte Versionen eines Projekts zu erstellen. Das geht aber über die absoluten Grundlagen hinaus und soll hier nicht weiter erläutert werden. 2.8 Sonderfunktionen Der übliche Gang der Dinge ist die kontinuierliche Weiterentwicklung einer Datei, so dass ständig neue Versionen eingecheckt werden. Gelegentlich kann es aber vorkommen, dass man auch auf ältere Versionen zurückgreifen muss oder möchte, dass man Versionen vergleichen will oder ähnliches. Noch einmal der Hinweis, dass hier nur ein Bruchteil der Möglichkeiten des CVS gezeigt wird, das Lesen der man-pages also unverzichtbar ist, wenn man über diese grundlegenden Funktionen hinaus mit CVS arbeiten will Versionsvergleich Zum Versionsvergleich verwendet man am besten ein Tool wie tkdiff 5 (siehe auch Abbildung 1 auf Seite 5), denn es checkt die zu vergleichenden Versionen automatisch in temporäre Dateien aus. Hat man ausgecheckt und etwas an der Datei geändert, kann man mit tkdiff die Änderungen sichtbar machen. tkdiff wird mit dem Dateinamen als Parameter aufgerufen und vergleicht die Datei mit ihrer letzten eingecheckten Version. Das kann dann so aussehen wie in Abbildung 2 auf der nächsten Seite CVS selbst ist dazu auch in der Lage, aber arbeitet nur auf der Kommandozeile: ~/testprojekt> cvs diff beispiel.c Index: beispiel.c =================================================================== RCS file: /home/.../testprojekt/beispiel.c,v retrieving revision 1.2 diff -r1.2 beispiel.c 5,6c5,7 < puts ("Oh what a wonderful day."); < return > puts ("O was für ein wunderbarer Tag."); > puts ("Vielen Dank fürs Gespräch!") > return 0; 5) 11

12 2.8 Sonderfunktionen 2 CVS Abbildung 2: TkDiff-Screenshot mit CVS Auschecken einer früheren Version Normalfall ist, dass beim Auschecken die aktuellste Version geholt wird. Möchte man aus irgendeinem Grund einmal auf einer ältere Version zurückgreifen, z. B. um diese als Softwarepröbchen zu verteilen oder daran noch Bugfixes (Korrekturen) vorzunehmen, ohne dem Kunden direkt die neueste Version zu geben, so kann man das bei CVS nicht basierend auf den Revisionsnummern der einzelnen Dateien machen was bei größeren Projekten auch kaum noch handhabbar wäre, sondern muss hier einen Zeitpunkt oder einen symbolischen Revisionsnamen angeben. Das von RCS bekannte Verfahren mit den Revisionsnummern funktioniert dann, wenn man zusätzlich nur eine einzelne Datei angibt, die man aktualiseren möchte: ~/testprojekt> cvs update -p -r 1.3 beispiel.c Diese symbolischen Revisionsnamen vergibt man immer dann, wenn man einen Stand erreicht hat, in dem man das Produkt ausliefern möchte, d. h. nach allen notwendigen Tests, aber vor der Produktion der Installationsdatenträger. Hierzu tag t man alle Dateien eines Projekts (to tag=markieren) und kann diesen Stand dann später unter Angabe des Tags ; (in einem anderen Verzeichnis!) wieder auschecken. Auf diese Art und Weise wird ein symbolischer Name für das Gesamtprojekt festgelegt, statt eine Revisionsnummer nur für eine einzelne Datei zu verwenden. ~/testprojekt> cvs tag "Version_1a" 12

13 2 CVS 2.8 Sonderfunktionen cvs tag: Tagging. T beispiel.c ~/testprojekt> echo "nach Version 1a" >> beispiel.c ~/testprojekt> cvs commit cvs commit: Examining. Log message unchanged or not specified a)bort, c)ontinue, e)dit,!)reuse this message unchanged for remaining dirs Action: (continue) Checking in beispiel.c; /home/.../testprojekt/beispiel.c,v <-- beispiel.c new revision: 1.3; previous revision: 1.2 ~/testprojekt > cd.. ~> mkdir alt ~> cd alt ~/alt> cvs checkout -r Version_1a testprojekt cvs checkout: Updating testprojekt U testprojekt/beispiel.c ~/alt> cd testprojekt ~/alt/testprojekt > cat beispiel.c #include <stdio.h> int main () { puts ("Hallo Welt, o was für ein wunderbarer Morgen!"); puts ("Oh what a wonderful day."); return 0 } Wie man sieht, enthält die ins Verzeichnis alt/testprojekt ausgecheckte Version nicht den mittels echo angefügten Text, obwohl die Ergänzung committet wurde. Möchte man basierend auf einer Version einen neuen Zweig beginnen, dann muss man beim Taggen die Option -b (für branch = Zweig) mit angeben. Vielleicht ist es aber besser, das Verzeichnis dann unter einem anderen Namen komplett neu einzuchecken, um es gänzlich unabhängig vom Originalprojekt zu machen Sprung auf eine neue (Haupt-)Revision Gelegentlich möchte man eine neue Haupt-Revisionsnummer beginnen. Dazu gibt man diese neue Revisionsnummer beim cvs commit mit an. Hierbei werden alle Dateien (auch die unveränderten) auf diese neue Revisionsnummer hochgesetzt: ~/testprojekt> cvs commit -r2.1 13

14 2.9 Weiterführendes 3 SUBVERSION Schlüsselwort-Ersetzung Die Schlüsselwort-Ersetzung funktioniert genau wie bei RCS und ist in Abschnitt auf Seite 6 erklärt Löschen eines Projekts Möchte man ein ganzes Projekt (CVS-Modul) löschen, z. B. weil man ein falsches Verzeichnis importiert hat oder ein Projekt endgültig gestorben ist, so kann man das nicht mit den CVS-Kommandos machen. Wohl aber kann man in das CVSROOT-Verzeichnis wechseln und ein rekursives rm (Vorsicht!) ausführen. Andere Projekte werden davon nicht betroffen. 2.9 Weiterführendes Lesen Sie in der Originalliteratur nach, wenn Sie glauben, noch mehr solcher Sonderfunktionen zu benötigen. Das ist z. B. die man-page, die allerdings etwas unübersichtlich ist, oder aber eine der vielen Quellen im WWW zum Thema CVS. Zu CVS gibt es auch grafische Frontends, z. B. TkCVS, das übrigens TkDiff schon enthält. Eine weitere Literaturempfehlung: dbutler/tutorials/winter96/cvs/ noch ein Tutorial zum Thema CVS. Zu CVS gibt es übrigens mehrere grafische Front-Ends, eines davon, TkCVS, wird auf der Seite ausführlich vorgestellt. 3 Subversion Subversion 6 wird als Nachfolger von CVS gehandelt, d. h. es ist von den Entwicklern beabsichtigt, CVS zu ersetzen. Die Bedienung ist der von CVS sehr ähnlich, um den Umstieg zu erleichtern. Auch gibt es Tools, um vorhandene Projekte (Repositories) von CVS auf Subversion zu übertragen, ohne die Historie zu verlieren. Eines davon heißt cvs2svn 7. In den Kommandos zum Ein- und Auschecken ist lediglich cvs durch svn zu ersetzen. Auf diese Weise ist auch die Integration in Entwicklungsumgebungen ganz leicht zu bewerkstelligen. Evtl. kann man sogar einfach einen Alias setzen, der aus allen cvs-aufrufen dann 6) 7) 14

15 3 SUBVERSION svn-aufrufe macht. Um wirklich cvs aufzurufen, müsste man es dann mit Pfad aufrufen oder den Alias temporär löschen. Subversion unterliegt wie Subversion einer OpenSource-Lizenz, und zwar einer Apache/ BSD-Lizenz. Es werden Binärversionen für alle gängigen Betriebssysteme angeboten. Die Server gibt es allerdings nicht für die alten, DOS-basierten Windows-Versionen, sondern erst von NT an aufwärts. Die Clients gibt es auch für Win9x/ME. Genau wie für CVS gibt es auch für Subversion diverse grafische und auch Web-Clients, u. a. unterstützt TkCVS 8 ab Version 8 auch Subversion. Vorteile gegenüber CVS soll Subversion insbesondere bei diesen Punkten bringen: Dateien können leichter umbenannt und/oder verschoben werden, ohne dass die Historie verloren geht. Der Umgang mit Binärdateien ist besser. Commit-Vorgänge sind atomar, d. h. auch bei einem Abbrechen der Verbindung zum Server kann es keine Inkonsistenzen geben. Es werden beim Commit weniger Daten übertragen (nur die geänderten Zeilen, nicht die ganzen Dateien). Bei langsamen Leitungen ist es schneller (bei manchen Operationen aber auch langsamer). Nachteile gibt es natürlich auch: Das Repository braucht mehr Platz auf der Platte als bei CVS. Ob die Stabilität schon so gut ist wie beim rund 20 Jahre gereiften CVS, gilt als unsicher. Es werden mehr andere Softwarepakte vorausgesetzt, z. B. die Apache Portable Runtime. Auch CVS entwickelt sich noch weiter, so dass die Zukunft zeigen wird, ob CVS längerfristig komplett von Subversion abgelöst wird. Als sicher kann das noch nicht gesehen werden. Wenn man derzeit ein neues Projekt anfängt, ist man in der Entscheidung ziemlich frei, denn ein Umstieg von CVS nach Subversion ist dank der Konversionstools relativ einfach. Ob es auch umgekehrt möglich ist, falls man doch mal zurück will? $Id: rcs-cvs.tex,v /01/13 11:30:53 hj Exp $ 8) 15

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

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

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

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

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

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

Das Concurrent Versions System (CVS)

Das Concurrent Versions System (CVS) Versionenkontrolle Das Concurrent Versions System (CVS) Vortrag im Proseminar Unix Tools 1 Markus Sander [email protected] 07.06.2005 Versionenkontrolle Gliederung 1 Versionenkontrolle 2 Versionenkontrolle

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

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

CVS-Einführung. Sebastian Mancke, [email protected]

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

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

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

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

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

Versionsverwaltung mit RCS

Versionsverwaltung mit RCS Versionsverwaltung mit RCS Texte einfach, sicher und transparent verwalten Ingo Jauer, 08.02.2005 Was ist RCS? RCS steht für Revision Control System. RCS ist ein Softwarepaket,

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

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

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

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

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

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

WinCVS Version 1.3. Voraussetzung. Frank Grimm [email protected] http://www.micenet.de. Mario Rasser [email protected] 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 [email protected] http://www.micenet.de Mario Rasser [email protected] http://www.rasser-online.de Voraussetzung 1. Installation von Python (Version >= 2.1) Download von

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

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

Basiskonzepte des Rechnerbetriebs

Basiskonzepte des Rechnerbetriebs Universität Potsdam Institut für Informatik Wintersemester 2012 2013 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 2 2 Das UNIX-Dateisystem Arbeiten Sie, wenn nicht anders vermerkt, immer auf der Kommandozeile!

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

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

Versionsmanagementsysteme

Versionsmanagementsysteme Versionsmanagementsysteme Motivation Mitglieder einer Software Entwicklungsgruppe müssen: gemeinsamen Zugriff auf die Projektressourcen haben (File Sharing) gleichzeitig identische Ressourcen bearbeiten

Mehr

Versionsverwaltung mit SVN

Versionsverwaltung mit SVN Ingo Sieverdingbeck ([email protected]) Jasper van den Ven ([email protected]) AG Rechnernetze Universität Bremen C/C++-Vorkurs 2008 Gliederung 1 Wozu Versionsverwaltung? Ältere

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

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

RCS-Einführung, Tipps und Tricks

RCS-Einführung, Tipps und Tricks RCS-Einführung, Tipps und Tricks Version 1.13 17.12.2014 Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Der Autor

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

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

TortoiseSVN unter Windows

TortoiseSVN unter Windows TortoiseSVN unter Windows Inhalt TortoiseSVN unter Windows 1 1) Vorwort 3 2) Allgemeine Hinweise zu SVN 4 3) Installation und Konfiguration 5 4) Die SVN-Kommandos 6 4.1) Das Kommando checkout / auschecken

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

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

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

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr. ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder

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

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; [email protected]; 939-19410) Auf den Seiten

Mehr

Von SVN zu Git. Daniel Willmann <[email protected]> 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

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

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner ([email protected]) Formatierung: Matthias Hagedorn ([email protected]) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

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

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

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

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 4. Mai 2016 Die Komandozeile unter Linux Wird als Shell bezeichnet Die Shell ist eines der vielen Programme einer Linux-Distribution

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

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

Enterprise PHP Tools

Enterprise PHP Tools Stefan Priebsch Enterprise PHP Tools Werkzeuge und Methoden für einen effizienten Entwicklungsprozess intwrckier.press Vorwort 9 1 Einführung 11 1.1 Unternehmensanwendungen und PHP 11 1.2 Der Entwicklungsprozess

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

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

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; [email protected]; 939-19410) Auf den Seiten

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

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

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

Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler Stephan Bauer, Christoph Schörner, Andreas Kuhtz

Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler Stephan Bauer, Christoph Schörner, Andreas Kuhtz FICHTELBAHN Gitlab Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler, Andreas Kuhtz 08.11.2013 Inhalt 1. Anmeldung bei Gitlab... 2 2. Installation von Git... 3 3. SSH Key erstellen... 6 4.

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 ([email protected]) Ziele der Versionierung Revisionsgeschichte eines Projekts erhalten

Mehr

Konfigurationsdateien mit Git verwalten

Konfigurationsdateien mit Git verwalten Konfigurationsdateien mit Git verwalten Chemnitzer Linuxtage 2011 Julius Plenz 19. März 2011 Veröffentlicht unter der CreativeCommons-Lizenz (By, Nc, Sa) http://chemnitzer.linux-tage.de/2011/vortraege/782

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

Ü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

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 [email protected] Agenda Grundlagen Installation Administration / Konfiguration Verwendung

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

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

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

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 [email protected] Lizenz Sie dürfen dieses Dokument verwenden unter den Bedingungen der Creative Commons

Mehr

Linux-Einführung Übung

Linux-Einführung Übung Linux-Einführung Übung Mark Heisterkamp 24. 25. Februar 2010 1 Einführung und Grundlagen 1.1 Erste Schritte... 1.1.1 Xterminalfenster Öffnen Sie ein weiteres Xterminalfenster mit der Maus. mittels Kommando.

Mehr

Arbeiten mit der Shell Teil 1

Arbeiten mit der Shell Teil 1 Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Zinching Dang 09. November 2015 Die Unix-Philosophie Es gibt viele kleine Programme Können die jeweiligen Aufgaben gut lösen Komplexe Aufgaben werden

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

IBM SPSS Statistics Version 22. Installationsanweisungen für Linux (Lizenz für gleichzeitig angemeldete Benutzer)

IBM SPSS Statistics Version 22. Installationsanweisungen für Linux (Lizenz für gleichzeitig angemeldete Benutzer) IBM SPSS Statistics Version 22 Installationsanweisungen für Linux (Lizenz für gleichzeitig angemeldete Benutzer) Inhaltsverzeichnis Installationsanweisungen....... 1 Systemanforderungen........... 1 Installation...............

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 [email protected] Chemnitz, Germany, 2009-03-14 Versionsverwaltung mit Mercurial für Einsteiger

Mehr

Tutorial 7 TEIL 1/2. Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0

Tutorial 7 TEIL 1/2. Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0 Tutorial 7 TEIL 1/2 Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0 Copyright Institut für Informatik, Universität Leipzig Hinweise: Die Arbeiten werden unter Windows

Mehr

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner ([email protected]) Formatierung: Matthias Hagedorn ([email protected]) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

Mehr

Versionskontrollsysteme. Uwe Berger & Markus Dahms <[email protected]>

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

Programmieren 2 05 Versionsverwaltung mit Git

Programmieren 2 05 Versionsverwaltung mit Git Programmieren 2 05 Versionsverwaltung mit Git Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke [email protected] 1 ... gestern lief es noch!!! neues Feature eingebaut

Mehr

FAQ Frequently Asked Questions. Produktname AFPS Outlook-AddIn Version 1.63 Stand Inhalt

FAQ Frequently Asked Questions. Produktname AFPS Outlook-AddIn Version 1.63 Stand Inhalt FAQ Frequently Asked Questions Produktname AFPS Outlook-AddIn Version 1.63 Stand 05.02.2006 Inhalt Inhalt...1 1. Installation des AddIns...2 Deinstallation der Version 1.62...2 Installation verschiedener

Mehr

WORD TEXT REPLACER 1 PROGRAMMHILFE GILLMEISTER SOFTWARE.

WORD TEXT REPLACER 1 PROGRAMMHILFE GILLMEISTER SOFTWARE. WORD TEXT REPLACER 1 PROGRAMMHILFE GILLMEISTER SOFTWARE www.gillmeister-software.de 1 INHALT 1 Inhalt... 1 1. Start... 3 2 Hauptmenü... 3 2.1 Menüeinträge der Gruppe Menü... 3 2.1.1 Optionen... 3 2.1.2

Mehr

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat 21.10.2008 [email protected]

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat 21.10.2008 mcgo@drupalist.de Multisite Setup mit Nutzung von Subversion Drupal Voice Chat 21.10.2008 [email protected] 1 Voraussetzungen Server (dediziert oder virtuell) Zugriff auf Terminal (z.b. per ssh) Webserver / Datenbankserver

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

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

Information zur Konzeptberatungs-Schnittstelle

Information zur Konzeptberatungs-Schnittstelle Information zur Konzeptberatungs-Schnittstelle Mit dieser Schnittstelle können Kundendaten vom Coffee CRM System für die Excel Datei der Konzeptberatung zur Verfügung gestellt werden. Die Eingabefelder

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

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

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

PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern

PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern PHP MySQL - myphpadmin Formulardaten in eine Datenbank speichern Datenbanken werden durch ein spezielles Programm verwaltet, einen sogenannten Datenbankserver, in unserem Fall den MySQL-Datenbankserver.

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

IBM SPSS Statistics Version 24. Installationsanweisungen für Linux (Lizenz für gleichzeitig angemeldete Benutzer) IBM

IBM SPSS Statistics Version 24. Installationsanweisungen für Linux (Lizenz für gleichzeitig angemeldete Benutzer) IBM IBM SPSS Statistics Version 24 Installationsanweisungen für Linux (Lizenz für gleichzeitig angemeldete Benutzer) IBM Inhaltsverzeichnis Installationsanweisungen....... 1 Systemanforderungen...........

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

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