Dies ist der Start einer kleinen Serie über sogenannte Versionskontrollsysteme. Da CVS das bekannteste und auch älteste Versionskontrollsystem ist, habe ich mich dazu entschlossen es als erstes vorzustellen. In späteren Beiträgen werden SVN, Git, Mercurial sowie Bazaar folgen.
CVS ist die wie bereits erwähnt das älteste Versionskontrollsystem das noch aktiv eingesetzt wird. CVS ist sozusagen die Mutter aller Versionskontrollsysteme. Hierbei ist zu beachten, dass es im Gegensatz zu Git und Mercurial ein sogenanntes zentrales Versionskontrollsystem ist. Dies bedeutet, dass ein CVS-Server dazu benutzt wird den aktuellen Stand vorzuhalten. CVS wird noch von einigen Projekten eingesetzt, und afaik auch noch von Sourceforge als Zugang angeboten.
CVS hat mit anderen Versionskontrollsystemen einiges gemeinsam, so werden unterschiedliche Revisionen abgelegt, die meistens durch eine fortlaufende Nummer gekennzeichnet sind. Bei den sogenannten Check-Outs wird die aktuelle Arbeitskopie des CVS-Repositories auf den Client übertragen. Der Entwickler kann dort dann entsprechende Änderungen am Code vornehmen, und diese mit einem Check-In wieder zum Server übertragen. Dabei kann er zu jedem Check-In einen Logeintrag verfassen, der für alle Benutzer sichtbar ist.
CVS unterstützt die Rechte „darf lesen“, „darf schreiben“ sowie „darf nix“. Meistens erhält ein Gast-Zugang in Opensource-Projekten reinen lesezugriff, damit kann ein x-beliebiger Benutzer jeden vorhandenen Projektstand erhalten, egal ob die gewünschte Version bereits Jahre zurückliegt, oder er den aktuellen Entwicklerzweig (trunk) erhalten möchte.
Natürlich bieten einige Tools eine CVS unterstüzung an. So lässt sich CVS in Eclipse, Visual Studio, XCode, Emacs oder Netbeans (und einigen Weiteren IDEs) einbinden. Auch steht mit TortoiseCVS ein Windows-Client zur Verfügung.
Allerdings wird CVS immer mehr von Subversion (the better CVS) abgelöst.
Links zu CVS
Tags: cvs, opensource, tutorial, versionskontrollsysteme, visual studio