<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>www.knebler.de &#187; CVS</title>
	<atom:link href="http://www.knebler.de/category/artikel/cvs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.knebler.de</link>
	<description>Admin Blog</description>
	<lastBuildDate>Sun, 06 Nov 2011 06:27:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Concurrent Version Management (CVS)</title>
		<link>http://www.knebler.de/artikel/cvs/concurrent-version-management-cvs/</link>
		<comments>http://www.knebler.de/artikel/cvs/concurrent-version-management-cvs/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 06:55:21 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[CVS]]></category>

		<guid isPermaLink="false">http://www.knebler.de/stage/artikel/cvs/concurrent-version-management-cvs/</guid>
		<description><![CDATA[CVS wird zur Softwareversionsverwaltung eingesetzt. Mehrere Entwickler können gleichzeitig an einem Projekt arbeiten. Die Sourcen werden zentral im sogenannten Repository verwaltet, jeder Entwickler arbeitet mit einer lokalen Kopie. CVS-Ablaufplan &#160; CVS-Vorteile Alle Entwickler arbeiten mit den Richtigen Quellen. Es entsteht eine Ãœbersicht der Projekte und dessen Status. Der Programmiercode wird Dokumentiert. Die Qualitätskontrolle wird vereinfacht. [...]]]></description>
			<content:encoded><![CDATA[<p>CVS wird zur Softwareversionsverwaltung eingesetzt. Mehrere Entwickler können gleichzeitig an einem Projekt arbeiten. Die Sourcen werden zentral im sogenannten Repository verwaltet, jeder Entwickler arbeitet mit einer lokalen Kopie.</p>
<p>
<u>CVS-Ablaufplan</u></p>
<p><img height="238" alt="cvs" src="http://www.knebler.de/wordpress/wp-content/uploads/2008/04/cvs-3.gif" width="450" /></p>
<p>&nbsp;</p>
<p><u>CVS-Vorteile</u></p>
<ul>
<li>Alle Entwickler arbeiten mit den Richtigen Quellen.</li>
<li>Es entsteht eine Ãœbersicht der Projekte und dessen Status.</li>
<li>Der Programmiercode wird Dokumentiert.</li>
<li>Die Qualitätskontrolle wird vereinfacht.</li>
<li>Anwendungen werden besser programmiert.</li>
</ul>
<p><u>CVS-Nachteile</u></p>
<ul>
<li>Es müssen Regeln für die Programmierung aufgestellt werden.</li>
<li>Es müssen Regeln für den Umgang mit CVS erarbeitet werden.</li>
<li>Es müssen Schulungen für Anwender und Administratoren durchgeführt werden.</li>
<li>Neue Software muß eingeführt werden.</li>
</ul>
<p><u>CVS Befehlsübersicht</u></p>
<ul>
<li><strong>Checkout</strong>: Projektname (Modulname)</li>
<li><strong>Import</strong>: Projektname (Modulname)</li>
<li><strong>Add</strong>: Eine neue Datei oder ein neues Verzeichnis zum Repository hinzufügen.</li>
<li><strong>Get</strong>: Eine lokale Kopie des Repositories anlegen.</li>
<li><strong>Commit</strong>: Ã„nderungen ins Repository eintragen.</li>
<li><strong>Diff</strong>: Unterschiede zwischen lokaler Kopie und Repository anzeigen.</li>
<li><strong>Log</strong>: CVS Log Information anzeigen.</li>
<li><strong>Rdiff</strong>: Eine Sammlung von Diffs zur Anzeige von Versionsunterschieden erzeugen.</li>
<li><strong>Status</strong>: Status der lokalen Dateien im Vergleich zum Repository anzeigen.</li>
<li><strong>Update</strong>: Die lokale Kopie des Repositories aktualisieren.</li>
</ul>
<p><u>CVS-Clients</u></p>
<ol>
<li>WIN-CVS CVS client für Windows, Macintosh and UnixÂ´</li>
<li>TortoiseCVS rechte Mause</li>
<li>gCVS</li>
<li>CVS client für Windows, Macintosh and Unix</li>
<li>jCVS</li>
<li>CVS Java client.</li>
<li>CVSweb </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/artikel/cvs/concurrent-version-management-cvs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVS Befehlsübersicht</title>
		<link>http://www.knebler.de/artikel/cvs/cvs-befehlsuebersicht-2/</link>
		<comments>http://www.knebler.de/artikel/cvs/cvs-befehlsuebersicht-2/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 07:15:30 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[CVS]]></category>
		<category><![CDATA[SuSE]]></category>

		<guid isPermaLink="false">http://www.knebler.de/stage/howto/suse/cvs-befehlsuebersicht-2/</guid>
		<description><![CDATA[Checkout: Projektname (Modulname) Import: Projektname (Modulname) Add: Eine neue Datei oder ein neues Verzeichnis zum Repository hinzufügen. Get: Eine lokale Kopie des Repositories anlegen. Commit: ï¿½nderungen ins Repository eintragen. Diff: Unterschiede zwischen lokaler Kopie und Repository anzeigen. Log: CVS Log Information anzeigen. Rdiff: Eine Sammlung von Diffs zur Anzeige von Versionsunterschieden erzeugen. Status: Status der [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight: bold">Checkout:</span> Projektname (Modulname)</p>
<p><span style="font-weight: bold">Import:</span> Projektname (Modulname)</p>
<p><span style="font-weight: bold">Add:</span> Eine neue Datei oder ein neues Verzeichnis zum Repository hinzufügen.<br />
<span style="font-weight: bold">Get:</span> Eine lokale Kopie des Repositories anlegen.</p>
<p><span style="font-weight: bold">Commit:</span> ï¿½nderungen ins Repository eintragen.</p>
<p><span style="font-weight: bold">Diff:</span> Unterschiede zwischen lokaler Kopie und Repository anzeigen.</p>
<p><span style="font-weight: bold">Log:</span> CVS Log Information anzeigen.</p>
<p><span style="font-weight: bold">Rdiff:</span> Eine Sammlung von Diffs zur Anzeige von Versionsunterschieden erzeugen.</p>
<p><span style="font-weight: bold">Status:</span> Status der lokalen Dateien im Vergleich zum Repository anzeigen.</p>
<p><span style="font-weight: bold">Update:</span> Die lokale Kopie des Repositories aktualisieren.</p>
<p class="poweredbyperformancing">Powered by <a href="http://scribefire.com/">ScribeFire</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/artikel/cvs/cvs-befehlsuebersicht-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVS Befehlsübersicht</title>
		<link>http://www.knebler.de/artikel/cvs/cvs-befehlsuebersicht/</link>
		<comments>http://www.knebler.de/artikel/cvs/cvs-befehlsuebersicht/#comments</comments>
		<pubDate>Tue, 19 Jun 2007 11:00:00 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[CVS]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=50</guid>
		<description><![CDATA[CVS Befehlsübersicht
Checkout: Projektname (Modulname)
Import: Projektname (Modulname)]]></description>
			<content:encoded><![CDATA[<p>Checkout: Projektname (Modulname)</p>
<p>Import: Projektname (Modulname)</p>
<p>Add: Eine neue Datei oder ein neues Verzeichnis zum Repository hinzufï¿½gen.<br />
Get: Eine lokale Kopie des Repositories anlegen.</p>
<p>Commit: ï¿½nderungen ins Repository eintragen.</p>
<p>Diff: Unterschiede zwischen lokaler Kopie und Repository anzeigen.</p>
<p>Log: CVS Log Information anzeigen.</p>
<p>Rdiff: Eine Sammlung von Diffs zur Anzeige von Versionsunterschieden erzeugen.</p>
<p>Status: Status der lokalen Dateien im Vergleich zum Repository anzeigen.</p>
<p>Update: Die lokale Kopie des Repositories aktualisieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/artikel/cvs/cvs-befehlsuebersicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVS Terminologie</title>
		<link>http://www.knebler.de/artikel/cvs/cvs-terminologie/</link>
		<comments>http://www.knebler.de/artikel/cvs/cvs-terminologie/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 11:00:00 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[CVS]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=56</guid>
		<description><![CDATA[CVS Terminologie]]></description>
			<content:encoded><![CDATA[<p><strong>Archiv </strong>Die Hauptkopie, in der <span class="highlight">CVS</span> die vollständige Revisionshistorie eines Projektes speichert. Jedes Projekt hat genau ein Archiv.<br />
<strong>Revision </strong><br />
Eine Veränderung an einer Datei oder Menge von Dateien, die durch einen Commit abgeschlossen wurde. Eine Revision ist eine Momentaufnahme eines sich ständig verändernden Projektes.<br />
Arbeitskopie<br />
Die Kopie, mit der gearbeitet wird und die tatsächlich verändert wird. Es kann mehrere Arbeitskopien eines bestimmten Projektes geben; im Allgemeinen hat jeder Entwickler seine eigene Kopie.<br />
<strong>Checkout </strong><br />
Eine Arbeitskopie von dem Archiv anfordern. Die angeforderte Kopie stellt den Zustand des Projektes zu dem Zeitpunkt dar, zu dem die Kopie angefordert wurde; wenn Sie oder andere Entwickler Veränderungen vornehmen, müssen commit und update durchgeführt werden, um die eigenen Veränderungen zu Â»veröffentlichenÂ« und die der anderen Mitentwickler sehen zu können.<br />
<strong>Commit </strong><br />
Senden der eigenen Veränderungen zum zentralen Archiv. Auch Check-in genannt.<br />
<strong>Log-Nachricht</strong><br />
Ein Kommentar der bei einem Commit einer Revision angehängt wird und die vorgenommenen Veränderungen beschreibt. Andere Entwickler können durch die Log-Nachrichten blättern und erhalten so die Antwort auf die Frage, was in dem Projekt passiert ist.<br />
<strong>Aktualisierung (update) </strong><br />
Veränderungen von anderen Entwicklern vom Archiv in die eigene Arbeitskopie aufnehmen und aufzeigen, ob die eigene Arbeitskopie noch nicht durch commit abgeschickte Veränderungen enthält.<br />
<strong>Konflikt </strong><br />
Situation, in der zwei Entwickler Veränderungen im gleichen Teil der gleichen Datei per commit abzuschicken versuchen. <span class="highlight">CVS</span> bemerkt solche Konflikte und benachrichtigt die Entwickler,<em> aber die Entwickler müssen diese selbst auflösen</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/artikel/cvs/cvs-terminologie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Arbeit mit CVS</title>
		<link>http://www.knebler.de/artikel/cvs/die-arbeit-mit-cvs/</link>
		<comments>http://www.knebler.de/artikel/cvs/die-arbeit-mit-cvs/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 11:00:00 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[CVS]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=57</guid>
		<description><![CDATA[Die Arbeit mit CVS]]></description>
			<content:encoded><![CDATA[<p>Zu Beginn der <span class="highlight">Arbeit</span> holen Sie sich <span class="highlight">die</span> aktuellen Fassungen der Dateien vom Server (Menü: <span class="highlight">Cvs</span> Folders -&gt; Update folder)  Sie be<span class="highlight">arbeit</span>en <span class="highlight">die</span> Dateien wie üblich.  Wenn Sie fertig sind, aktualisieren Sie <span class="highlight">die</span> Dateien auf dem Server, entweder einfach das ganze Verzeichnis (Menü: <span class="highlight">Cvs</span> Folders -&gt; Com<span class="highlight">mit</span> folder) oder Sie markieren <span class="highlight">die</span> veränderten Dateien und aktualisieren nur <span class="highlight">die</span>se (Menü: Selections -&gt; Update selection). Win<span class="highlight">CVS</span> zeigt ihnen dabei als Hilfe <span class="highlight">die</span> Dateien, <span class="highlight">die</span> verändert wurden.  Haben Sie neue Dateien zu Ihrem Projekt hinzugefügt, fügen Sie <span class="highlight">die</span>se <span class="highlight">mit</span> Selections-&gt;Add selection bzw. Selections-&gt;Add selection binary zum Projekt hinzu. Ab dann stehen auch <span class="highlight">die</span>se Datein unter <span class="highlight">CVS</span>-Kontrolle.    Veränderungen zurücknehmen   Eine Methode des Update ist es, <span class="highlight">die</span> Option -j (für Â»joinÂ«) zu dem update-Kommando zu verwenden. <span class="highlight">Die</span>se Option verwendet Revisionsnummern als Argumente und kann bis zu zwei Mal angegeben werden.   <span class="highlight">CVS</span> bestimmt dann <span class="highlight">die</span> Unterschiede zwischen den beiden angegebenen Revisionen und wendet <span class="highlight">die</span>se als Patch auf <span class="highlight">die</span> fragliche Datei an.   <span class="highlight">Die</span> Reihenfolge, in der <span class="highlight">die</span> Revisionen angegeben werden, ist daher von entscheidender Bedeutung   <span class="highlight">cvs</span> update -j 1.4 -j 1.3 XXX</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/artikel/cvs/die-arbeit-mit-cvs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVS Szenario</title>
		<link>http://www.knebler.de/artikel/cvs/cvs-szenario/</link>
		<comments>http://www.knebler.de/artikel/cvs/cvs-szenario/#comments</comments>
		<pubDate>Fri, 19 Jan 2007 11:00:00 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[CVS]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=55</guid>
		<description><![CDATA[CVS Szenario]]></description>
			<content:encoded><![CDATA[<p>wei Entwickler, A und B, führen gleichzeitig einen Checkout des gleichen Projektes aus. Das Projekt befindet sich noch am Ausgangspunkt &#8211; es wurden noch von niemandem Veränderungen per Commit an das Archiv geschickt, sodass sich noch alle Dateien in ihrem ursprünglichen Zustand befinden. Entwickler A beginnt sofort mit seiner Arbeit und führt schon bald den ersten Commit seiner Ã„nderungen aus. In der Zwischenzeit sieht Entwickler B fern. Entwickler A arbeitet, als ob es kein Morgen gäbe, und führt einen zweiten Commit für einen weiteren Satz von Veränderungen aus. Das Archiv enthält nun die Originaldateien, gefolgt von As zweitem Satz von Veränderungen, gefolgt von diesem Satz an Veränderungen. In der Zwischenzeit spielt Entwickler B Videospiele oder so&#8230;. Plötzlich schließt sich Entwickler C dem Projekt an und macht einen Checkout einer Arbeitskopie aus dem Archiv. Die Kopie von Entwickler C enthält As erste zwei Sätze von Veränderungen, weil diese schon im Archiv enthalten waren, als C für seine Arbeitskopie einen Checkout gemacht hat. Entwickler A arbeitet weiter wie von Geistern besessen, vollendet seinen dritten Satz an Veränderungen und führt abermals einen Commit aus. Zu guter Letzt, nichts ahnend von der jüngsten rasanten Aktivität, entscheidet Entwickler B, dass es Zeit wird, an die Arbeit zu gehen. Er kümmert sich nicht darum, eine Aktualisierung seiner Arbeitskopie durchzuführen; er fängt an, Dateien zu bearbeiten, von denen einige jene Dateien sein könnten, an denen A gearbeitet hat. Kurz darauf führt Entwickler B seinen ersten Commit dieser Veränderungen aus. An diesem Punkt können nun zwei Dinge passieren. Wenn keine der von Entwickler B bearbeiteten Dateien von A bearbeitet wurde, dann ist der Commit erfolgreich. Wenn <span class="highlight">CVS</span> jedoch merkt, dass einige der Dateien von B verglichen mit den aktuellen Dateien des Archivs veraltet sind und diese auch von B in seiner Arbeitskopie verändert wurden, informiert <span class="highlight">CVS</span> B darüber, dass er eine Aktualisierung durchführen muss, bevor ein Commit durchgeführt werden kann.  Wenn Entwickler B die Aktualisierung durchführt, fügt <span class="highlight">CVS</span> alle Veränderungen von A in Bs lokale Kopien der Dateien ein. Einige von As Veränderungen können mit Bs noch nicht abgeschickten Veränderungen in Konflikt geraten, manche nicht. Die Teile, welche nicht in Konflikt stehen, werden einfach ohne weitere Komplikationen in Bs Kopie eingefügt; die in Konflikt stehenden müssen zuerst von B bereinigt werden, bevor der Commit durchgeführt werden kann. Wenn Entwickler C nun eine Aktualisierung durchführt, bekommt er mehrere Sätze an Veränderungen aus dem Archiv: den dritten Commit von A, den ersten von B und vielleicht den zweiten von B (wenn B die Konflikte aufgelöst hatte). Damit <span class="highlight">CVS</span> Veränderungen in der richtigen Reihenfolge an die Entwickler verteilen kann, deren Arbeitskopien unter Umständen unterschiedlich stark veraltet sind, muss das Archiv alle Commits seit Projektbeginn aufzeichnen. In der Praxis speichert das <span class="highlight">CVS</span>-Archiv diese als aufeinander folgende Diffs. Daher kann <span class="highlight">CVS</span> auch noch für sehr alte Arbeitskopien den Unterschied zwischen den Dateien der Arbeitskopien und dem aktuellen Stand des Archivs bestimmen und dadurch die Arbeitskopie effizient wieder auf den aktuellen Stand bringen. Für Entwickler ist es dadurch einfach, die Historie des Projektes einzusehen und zu jedem Zeitpunkt sogar sehr alte Arbeitskopien wieder zum Leben zu erwecken.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/artikel/cvs/cvs-szenario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Versionskontrolle mit CVS</title>
		<link>http://www.knebler.de/artikel/cvs/versionskontrolle-mit-cvs/</link>
		<comments>http://www.knebler.de/artikel/cvs/versionskontrolle-mit-cvs/#comments</comments>
		<pubDate>Fri, 19 Jan 2007 11:00:00 +0000</pubDate>
		<dc:creator>knebler</dc:creator>
				<category><![CDATA[CVS]]></category>

		<guid isPermaLink="false">http://www.knebler.de/wordpress/?p=58</guid>
		<description><![CDATA[Versionskontrolle mit CVS]]></description>
			<content:encoded><![CDATA[<p><em><span class="highlight">CVS</span></em> ist das &#8220;Concurrent Version Management&#8221;, ein mächtiges Werkzeugs für Versionsmanagement und kooperativer Programmentwicklung. Es erlaubt das gemeinsame Editieren von beliebigen ASCII-Dateien (eingeschränkt auch BIN-Dateien)<br />
Mehrere Entwickler können gleichzeitig von beliebigen Standorten an einem Projekt arbeiten. Die Sourcen werden zentral im sogenannten Repository verwaltet, jeder Entwickler arbeitet <span class="highlight">mit</span> einer lokalen Kopie.<br />
Es steht dem Nutzer frei, wann und wie er seinen Stand dem Serverstand angleicht, und wann er seine veränderten Dateien dem Repository zufügt.<br />
Innerhalb des Repositorys können mehrere Dateien zu Modulen zusammengefasst werden. Will man eines dieser Module bearbeiten, so muß man zunächst einen &#8220;checkout&#8221; machen, der eine lokale Kopie anlegt.<br />
Es gibt die Möglichkeit, mehrere Zweige (Branches) zu benutzen. So können z.B. zwei verschiedene Ansätze verfolgt werden. Sollen diese wieder zusammengefügt werden, ist dies durch einen &#8220;Merge&#8221; möglich. Durch einen zusätzlichen Parameter beim &#8220;checkout&#8221; kann man einen bestimmten Branch erhalten.</p>
<p>Obwohl die eigentliche Heimat von <em><span class="highlight">CVS</span></em> die Unix-Welt ist, gibt es inzwischen auch eine Windows-Version unter GPL. Durch die Ersetzung des Kommandozeileninterfaces des eigentlichen <em><span class="highlight">CVS</span></em> durch eine Menüoberfläche läßt es sich hier einfacher nutzen. Leider ist die Konfiguration etwas aufwendig .<br />
Zunächt muß man dem Win<em><span class="highlight">CVS</span></em> <span class="highlight">mit</span>teilen, auf welches Repository man zugreift. Ein Repository kann im Filesystem liegen, aber auch über verschiedenen Arten remote angesprochen werden. Bei <em><span class="highlight">CVS</span></em> wird es durch die Variable <em><span class="highlight">CVS</span></em>ROOT definiert.<br />
Im Normalfall handelt es sich um ein entferntes Repository, dass <span class="highlight">mit</span> der Methode &#8220;pserver&#8221; angesprochen wird. Hier meldet man sich am <em><span class="highlight">CVS</span></em>-Server <span class="highlight">mit</span> dem Nutzernamen &#8220;XXX&#8221; Projekt und Passwd an. Die Methode &#8220;pserver&#8221; ist der Standard im Internet, er impliziert eine Passwortauthentifikation.<br />
Falls man hinter einem Firewall arbeitet, kann der HTTP Proxy für den Zugriff auf dem <em><span class="highlight">CVS</span></em>-Server eingesetzt werden. (bei direkter Verbindung kann auch das SSH Protokoll verwendet werden)</p>
<p>Der erste initialen &#8220;checkout&#8221;, der eine Kopie des aktuellen PROJEKTS anlegt.<br />
[Create] [checkout module]-&#8221;XXX&#8221; im Menü, das entspricht dem Befehl &#8220;<em><span class="highlight">CVS</span></em> checkout XXX&#8221;<br />
Auf der lokalen Kopie kann nun wie gewohnt <span class="highlight">mit</span> einem Editor oder einer Entwicklungsumgebung gearbeitet werden.<br />
<lu><br />
<strong><em><span class="highlight">CVS</span></em> Befehlsübersicht</strong><br />
Befehl und dessen Wirkung</p>
<li>Checkout: Projektname (Modulname)</li>
<li>Import: Projektname (Modulname)</li>
<li>Add: Eine neue Datei oder ein neues Verzeichnis zum Repository hinzufügen.</li>
<li>Get: Eine lokale Kopie des Repositories anlegen.</li>
<li>Com<span class="highlight">mit</span>: Ã„nderungen ins Repository eintragen.</li>
<li>Diff: Unterschiede zwischen lokaler Kopie und Repository anzeigen.</li>
<li>Log: <em><span class="highlight">CVS</span></em> Log Information anzeigen.</li>
<li>Rdiff: Eine Sammlung von Diffs zur Anzeige von Versionsunterschieden erzeugen.</li>
<li>Status: Status der lokalen Dateien im Vergleich zum Repository anzeigen.</li>
<li>Update: Die lokale Kopie des Repositories aktualisieren.</li>
<p></lu><br />
<span class="highlight">Mit</span> dem Menu-Befehl [Trace][Release Selection] kann man einen Release eines Moduls erstellen. Ein Release ist eine Version ohne jegliche <em><span class="highlight">CVS</span></em>-Informationen, der zur Produktion eingesetzt werden kann.</p>
<p>Neue Datei anlegen und zufügen:<br />
[Modify][add Selection] unter Win<em><span class="highlight">CVS</span></em>, &#8220;<em><span class="highlight">CVS</span></em> add dateiname&#8221; in der Kommandozeilenvariante.</p>
<p>Vorhandenes lokales Modul aktualisieren :<br />
Rechte Maustaste-&#8221;update selection&#8221; in der Windows-Variante, sonst &#8220;<em><span class="highlight">CVS</span></em> update dateiname&#8221;.</p>
<p>Was ist seit meinem letzten checkout/update/com<span class="highlight">mit</span> passiert?<br />
Rechte Maustaste-&#8221;diff selection&#8221;, sonst &#8220;<em><span class="highlight">CVS</span></em> diff dateiname&#8221;.</p>
<p>Wie ein Konflikt entsteht: Man versucht eine veränderte Datei zu com<span class="highlight">mit</span>en, die in der Zwischenzeit bereits von jemand anders bearbeitet wurde &#8211; und das in den gleichen Zeilen. Diesen Konflikt kann <em><span class="highlight">CVS</span></em> nicht mehr selbsttätig lösen, als gibt es eine Konflikt-Meldung aus. In der Windowsvariante erhält diese Datei das Tag &#8220;C&#8221; für &#8220;Conflict&#8221;, und sie enthält &#8211; <span class="highlight">mit</span> einigen automatisch generierten Kommentaren &#8211; beide Versionen. Das Tag und den Status &#8220;Conflict&#8221; verliert diese Datei erst, wenn sie bearbeitet und neu com<span class="highlight">mit</span>et, also zum Repository zugefügt wurde.</p>
<p>Um <span class="highlight">mit</span> <em><span class="highlight">CVS</span></em> effektiv zu arbeiten sollten einige Regeln und Guidelines aufgestellt und beachtet werden.<br />
<em>TIP: Java bietet eine ganze Reihe sinnvoller Coding Guides.</em><strong>Was kann <span class="highlight">CVS</span>?</strong></p>
<p class="main-content" id="main">
<li>Dokumentieren</li>
<li>Protokollieren</li>
<li>Kommunizieren<br />
<hr /><strong><span class="highlight">CVS</span>-Vorteile!</strong></li>
<li>Alle Entwickler arbeiten <span class="highlight">mit</span> den Richtigen Quellen.</li>
<li>Es entsteht eine Ãœbersicht der Projekte und dessen Status.</li>
<li>Der Programmiercode wird Dokumentiert.</li>
<li>Die Qualitätskontrolle wird vereinfacht.</li>
<li>Anwendungen werden besser programmiert.<br />
<hr /><strong><span class="highlight">CVS</span>-Nachteile!</strong></li>
<li>Es müssen Regeln für die Programmierung</li>
<li>aufgestellt werden.</li>
<li>Es müssen Regeln für den Umgang <span class="highlight">mit</span> <span class="highlight">CVS</span> erarbeitet werden.</li>
<li>Es müssen Schulungen für Anwender und Administratoren durchgeführt werden.</li>
<li>Neue Software muß eingeführt werden.</li>
]]></content:encoded>
			<wfw:commentRss>http://www.knebler.de/artikel/cvs/versionskontrolle-mit-cvs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

