Concurrent Versions System CVS Concurrent Versions System
Kurze Einführung Es gibt eine Datenbank mit einer Baumstruktur Ein Ast dieses Baumes ist ein Projekt ein Projekt enthält einen Teilbaum. die Struktur der Datenbank wird von den Mitarbeitern erzeugt Versionskontrolle wird automatisch durchgeführt Milestone/Revision Management (Branching/Tagging) Daten-Typen in der Datenbank: Text, Binary
Was ist CVS ? Ein System um die Versionsgeschichte von Quelltexten und Dokumenten festzuhalten und ggf. später abzurufen Speicherung nur der Unterschiede zur jeweils letzten gespeicherten Version (Speicherplatz-Ersparniss) Sicherstellung der exklusiven Bearbeitung eines Dokumentes/Quelltext-Teiles für einen Benutzer Mehrbenutzerfähigkeit wird dadurch erst garantiert und ermöglicht.
Was ist CVS nicht ? kein Build-System Durch das CVS System wird nicht sichergestellt oder vorgegeben, wie die Quelltexte organisiert sind. CVS kümmert sich nicht darum, wie die Dokumente/Quelltexte abgelegt werden und ob sie so einem logischen Kontext folgen. kein Ersatz für Management/Konzepte Es werden keine Konzepte vorgegeben Sache des Entwicklers; der Mitarbeiter kein Ersatz für die Kommunikation unter den Mitarbeitern Ein CVS System ersetzt keine Absprachen, es erleichtert nur die Arbeit mit den Dokumenten und Quelltexten ansich. kein Ersatz für ein Projektübergreifendes Changelog zwar protokolliert CVS Quelltext-Änderungen und Kommentare; jedoch: nur pro Eincheck-Vorgang (u.U. mehrere Dateien = ein Kommentar)
Arbeit mit CVS Verschiedene Sorten von User-Interfaces Kommandozeile (Standard) Grafisch (bspw. WinCVS – www.wincvs.org), Integriert (bspw. TortoiseCVS – www.tortoisecvs.org) VisualStudio (bspw. CVSln http://www.kryptonians.net/cvs/) Im Allgemeinen ist der Einsatz der grafischen Benutzeroberflächen empfehlenswert – Kommandozeile „gewöhnungsbedürftig“
Arbeit mit CVS Erstellen des Projektes in CVS Datenbank einfaches neu erstellen Übernahme bestehender Verzeichniss/Projektstrukturen Übernahme aus anderen Systemen Gruppierung von zusammengehörenden Projekten (Module) Ein- / Auschecken von Dokumenten (Repository, Working Directory, check in/out)
Revisionen / Versionen / Releases Arbeit mit CVS Unterscheidung von Projekten / Modulen, Revisionen, Versionen, Releases, Branches und Tags Revisionen / Versionen / Releases Version 1.0.0 Version 1.1.0 Version 1.2.0 Release 1 Version 2.0... Release 2 Version 3.0... - Werden automatisch erzeugt; können jedoch auch vergeben werden
Arbeit mit CVS Release 1.0 Release 1.1 Tags Datei 1 Datei 2 Datei 3 Unterscheidung von Projekten / Modulen, Revisionen, Versionen, Releases, Branches und Tags Tags Datei 1 Datei 2 Datei 3 Version 1.0.0 Version 1.0.0 Version 1.0.0 Release 1.0 Version 1.1.0 Version 1.1.0 Version 1.1.0 Version 1.2.0 Version 1.2.0 Version 1.2.0 Release 1.1 Version 1.3.0 Version 1.3.0 Version 1.3.0 Sollen Abhängigkeiten für Releases anzeigen und speichern
Arbeit mit CVS Branches Haupt-Baum Version 1.0.0 Version 1.1.0 Branch Unterscheidung von Projekten / Modulen, Revisionen, Versionen, Releases, Branches und Tags Branches Haupt-Baum Version 1.0.0 Version 1.1.0 Branch Version 1.2.0 Version 1.2.1 Branch Version 2.1.2 Version 2.0... auch Milestones ermöglicht das „abschliessen“ einer Version in Form eines Teilbaumes
Links WinCVS - http://www.wincvs.org http://www.cvsgui.org [ allgemeine CVS Seite und CVS GUI Seite ] WinCVS HowTo - http://www.computas.com/pub/wincvs-howto/ [ englische HowTo Übersicht zu WinCVS ] TortoiseCVS - http://www.tortoisecvs.org [ Windows CVS Explorer Integration ] CVSln - http://www.kryptonians.net/cvs/wincvs_and_ide.html [ Visual Studio 6.0 CVS Integration ]
Vielen Dank für die Aufmerksamkeit