<?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>tuxianer blog &#187; Windows</title>
	<atom:link href="http://www.tuxianer.de/blog/tag/windows/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tuxianer.de/blog</link>
	<description>It&#039;s all in my mind</description>
	<lastBuildDate>Sun, 06 Feb 2011 16:55:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Arbeiten mit SVK</title>
		<link>http://www.tuxianer.de/blog/2008/05/05/arbeiten-mit-svk/</link>
		<comments>http://www.tuxianer.de/blog/2008/05/05/arbeiten-mit-svk/#comments</comments>
		<pubDate>Mon, 05 May 2008 20:28:08 +0000</pubDate>
		<dc:creator>xantos</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[SVK]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.tuxianer.de/blog/?p=8</guid>
		<description><![CDATA[SVK dezentrale Versionskontrolle auf Subversion Basis
Mit SVK ist es möglich eine lokale Kopie des SVN vorzuhalten und auch ohne Internet bzw. Netzwerkverbinung zum Subversion-Server weiter zu arbeiten und alle Vorteile eines SCM (Source Code/Control Managementsystem) zu nutzen.

Wie konfiguriere ich ...]]></description>
			<content:encoded><![CDATA[<p><strong>SVK dezentrale Versionskontrolle auf Subversion Basis</strong><br />
Mit SVK ist es möglich eine lokale Kopie des SVN vorzuhalten und auch ohne Internet bzw. Netzwerkverbinung zum Subversion-Server weiter zu arbeiten und alle Vorteile eines SCM (Source Code/Control Managementsystem) zu nutzen.</p>
<p><strong>Wie konfiguriere ich SVK?</strong><br />
Nach der Installation von SVK muss das lokale Repository eingerichtet werden das die SVN Projekte aufnimmt und offline zur Verfügung stellt.</p>
<p>1. Erstellen des Repository-Verzeichnisses z.B. &#8221;D:\User\Fabian\SVK&#8221;</p>
<p>2. Setzen der Umgebungsvariablen für das Repository mit <code>SVKROOT=D:\User\Fabian\SVK</code></p>
<p>3. Starten einer Command-Shell</p>
<p>4. Initialisieren des lokalen Repositories mit<code><br />
svk depotmap --init<br />
</code></p>
<p>5. Versioniertes Verzeichnis im Repository für die eigenen Projekte erstellen (lokaler branch)<br />
<code>svk mkdir //local -m "create locale branch dir"<br />
</code></p>
<p>6. Versioniertes Verzeichnis mirror für die remote SVN-Projekte erstellen (mirror branch)<br />
<code>svk mkdir //mirror -m "create mirror branch dir"</code></p>
<p><strong>Wie wird eine Offline-Kopie eines Projektes aus dem Subversion erstellt?</strong><br />
Wenn der SVN-Server eine Authentifizierung benötigt und der Username vom angemeldeten Usernamen abweicht ist die einfachste Variante um SVN und somit auch SVK die Login-Daten anzugeben der folgende Befehl.<br />
<code>svn list --username  username http://svn-server/Projektname/trunk/<br />
</code><br />
Mit dem Befehl wird das Projektverzeichnis angezeigt und vorher der User authentifiziert. Subversion merkt sich die Usernamen und Passwort Einstellungen und SVK kann mit den folgenden Befehlen das Subversion spiegeln.</p>
<p>1. Konfiguration des SVN Mirrors mit<br />
<code>svk mirror http://svn-server/ //mirror/<br />
</code><br />
2. Die Mirror Einstellung können mit folgenden Befehl geprüft werden<br />
<code>svk mirror --list<br />
</code></p>
<p>3. Holen des Projektes vom SVN-Server mit kompletter Revisionshistorie<code><br />
svk sync //mirror/Projektname</code></p>
<p># Nur HEAD Revision synkronisieren<br />
svk sync &#8211;skipto HEAD //mirror/Projektname</p>
<p><strong>Wie ist der Workflow wenn ich SVK benutze?</strong><br />
1. Wenn notwendig den Mirror aktualisieren falls sich auf dem Server etwas geändert hat.<br />
<code>svk sync //mirror/Projektname<br />
</code><br />
2. Lokale Kopie erstellen um bessere Kontrolle zu haben was in den Mirror kommt. (Optional)<br />
<code>svk copy //mirror/Projektname //local/Projektname<br />
</code></p>
<p>3. Vom lokalen branch oder vom mirror branch eine Arbeitskopie erstellen.<br />
<code># Wenn mit dem vorher erstellten lokalen branch gearbeitet werden soll<br />
svk checkout //local/Projektname/trunk</code></p>
<p># Wenn mit dem mirror direkt gearbeitet werden soll<br />
svk checkout //mirror/Projektname/trunk</p>
<p>4. Gemütlich vor sich hin programmieren wenn nötig und andere User etwas in den branch eingebracht haben die Arbeitskopie mit folgenden Befehl aktualisieren.<code><br />
svk update<br />
</code><br />
5. Wenn gewünscht neue Dateien hinzufügen, verschieben oder umbenennen mit den folgenden Befehlen.<br />
<code>svk add<br />
svk move<br />
svk rename<br />
</code><br />
6. Die Änderungen in das Repository mit folgenden Befehl übernehmen.<br />
<code>svk commit<br />
</code><br />
7. Wenn mit der lokalen Kopie gearbeitet wird kann mit folgenden Befehlen der lokale branch mit dem mirror branch synchronisiert werden. Dazu ist es notwendig am Firmennetz zu hängen damit dann die Änderungen an das Subversion übermittelt werden können.<br />
<code># Testlauf des merges um Konflikte zu erkennen und zu beheben (Option -C)<br />
svk smerge -C //local/Projektname/trunk //mirror/Projektname/trunk</code></p>
<p># Wenn alle Konflikte beseitigt sind die Änderungen übernehmen<br />
svk smerge -l //local/Projektname/trunk //mirror/Projektname/trunk</p>
<p>8. Wenn direkt mit dem mirror branch gearbeitet wird kann der folgende Befehl verwendet werden. Wenn Konflikte auftreten können diese behoben werden.<br />
<code>svk push<br />
</code></p>
<p><strong>Wie kann ich das lokale SVK Repository mit TortoiseSVN bzw. dem SVN Kommandozeilen-Tool benutzen?</strong><br />
1. Lokale Kopie erstellen die als SVN Repository dient<br />
<code>svk copy //mirror/Projektname //local/Projektname<br />
</code><br />
2. Mit TortoiseSVN das lokale SVK branch Projektverzeichnis als URL angeben und als Arbeitskopie auschecken. Mit dem Kommandozeilen-Tool ist der Befehl:<br />
<code>svn co -p file:///SVKROOT/local/Projektname/trunk Arbeitsverzeichnis<br />
</code><br />
3. Wenn man am Firmennetz hängt vom Remote-Repository die letzten Änderungen holen und mit der lokalen Kopie abgleichen.<br />
<code>svk sync //mirror/Projektname<br />
svk smerge //mirror/Projektname //local/Projektname<br />
</code><br />
4. Arbeitskopie mittels TortoiseSVN oder SVN Kommando aktualisieren und wie gehabt mit Tortoise Arbeiten um die Änderungen in das offline Repository zu übernehmen. An diesem Punkt ist eine Verbindung zum Firmennetz nicht mehr notwendig da die aktuelle Kopie im lokalen Repository liegt.</p>
<p>5. Wenn man dann wieder am Firmennetz hängt und seine Änderungen an das Subversion-Server übergeben will sind folgende Befehle auszuführen.<br />
<code># aktualisieren des mirror-branches mit dem Subversion-Server im Firmennetz<br />
svk sync //mirror/Projektname/trunk</code></p>
<p># Testlauf des merges um Konflikte zu erkennen und zu beheben (Option -C)<br />
svk smerge -C //local/Projektname/trunk //mirror/Projektname/trunk</p>
<p># Wenn alle Konflikte beseitigt sind die Änderungen übernehmen<br />
svk smerge -l //local/Projektname //mirror/Projektname</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.tuxianer.de/blog/2008/05/05/arbeiten-mit-svk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erfahrungen mit SVK</title>
		<link>http://www.tuxianer.de/blog/2008/05/04/erfahrungen-mit-svk/</link>
		<comments>http://www.tuxianer.de/blog/2008/05/04/erfahrungen-mit-svk/#comments</comments>
		<pubDate>Sun, 04 May 2008 18:48:54 +0000</pubDate>
		<dc:creator>xantos</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[SVK]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.tuxianer.de/blog/?p=7</guid>
		<description><![CDATA[Auf meiner Arbeit wird Subversion (SVN) eingesetzt, da wir aber auch Vorort beim Kunden oder Zuhause an Projekten arbeiten und nicht immer ein online Zugriff auf das firmeninterne Subversion möglich ist, habe ich mich nach einem Versionsverwaltungsystem umgesehen das ...]]></description>
			<content:encoded><![CDATA[<p>Auf meiner Arbeit wird <a title="Subversion" href="http://subversion.tigris.org/" target="_blank">Subversion</a> (SVN) eingesetzt, da wir aber auch Vorort beim Kunden oder Zuhause an Projekten arbeiten und nicht immer ein online Zugriff auf das firmeninterne Subversion möglich ist, habe ich mich nach einem Versionsverwaltungsystem umgesehen das auf SVN basiert und verteiltes offline arbeiten ermöglicht. So bin ich auf <a title="SVK" href="http://svk.elixus.org/view/HomePage" target="_blank">SVK</a>, einem dezentralisierten Versionsverwaltungssystem, gestoßen.</p>
<p>Die Installation unter Windows ist unproblematisch, da ein Installer existiert der alles notwendige mitliefert. Das selbst bauen unter Windows mit Perl via <a title="CPAN" href="http://www.cpan.org/" target="_blank">CPAN</a> ist nicht zu empfehlen, da sehr viele Abhängigkeiten existieren und vorher auch die Subversion Development-Libs gebaut werden müssen. Unter Mac OS X ist die Installation via    <a title="MacPorts" href="http://www.macports.org/" target="_blank">MacPorts</a> oder CPAN problemlos zu bewerkstelligen.</p>
<p>Bei uns in der Firma läuft der Subversion Server unter Windows und stellt das Repository mittels WebDAV und einem Apache zur Verfügung. In den einzelnen Projekten können Datei- und Verzeichnisnamen mit Leerzeichen und UTF8 Sonderzeichen auftreten. Wenn mit <a title="TortoiseSVN" href="http://tortoisesvn.tigris.org/" target="_blank">TortoiseSVN</a> auf solche Projekte zugegriffen wird gibt es keine Probleme. Wenn aber mit SVK ein Mirror-Depot erstellt wird, das Sonderzeichen speziell Leerzeichen in der URL enthält kommt es zu Problemen. Nach einigen Anfragen auf der SVK Mailingliste und etwas sehr nettem Geplauder mit den SVK Entwicklern ist dieses Problem mit einem Patch gelöst und das SVK ist für  einen ausführlichen Test bereit.</p>
<p>Ich werde wenn ich den Produktiveinsatz getestet habe weiter berichten und ein kleines SVK HowTo und die notwendigen Patch-Files online stellen. Die Patches sind auch in die development Version von SVK eingeflossen und im Subversion des Projektes integriert. Somit wird mit dem nächsten Release das URL Problem behoben sein.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.tuxianer.de/blog/2008/05/04/erfahrungen-mit-svk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

