<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ruth Klempel's Blog</title>
	<atom:link href="http://ruthklempel.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruthklempel.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Thu, 25 Sep 2008 17:09:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='ruthklempel.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/9966e8d9acae7ec50938e855e52d63cf?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Ruth Klempel's Blog</title>
		<link>http://ruthklempel.wordpress.com</link>
	</image>
			<item>
		<title>Migrating CVS to SVN with cvs2svn &#8211; Basics for a Windows user</title>
		<link>http://ruthklempel.wordpress.com/2008/04/22/migrating-cvs-to-svn-with-cvs2svn-basics-for-a-windows-user/</link>
		<comments>http://ruthklempel.wordpress.com/2008/04/22/migrating-cvs-to-svn-with-cvs2svn-basics-for-a-windows-user/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 11:38:17 +0000</pubDate>
		<dc:creator>ruthklempel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[CVS2SVN]]></category>
		<category><![CDATA[Cygwin]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[Tortoise CVS]]></category>
		<category><![CDATA[Tortoise SVN]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://ruthklempel.wordpress.com/?p=5</guid>
		<description><![CDATA[This tutorial shows the first steps how to test the cvs2svn tool in a Windows environment requiring minimal knowledge about CVS and SVN. The steps described have the purpose introduce you in the simplest ways how to create a CVS and a SVN repository and migrate CVS repositories to SVN repositories.
To run the cvs2svn tool [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruthklempel.wordpress.com&blog=3517514&post=5&subd=ruthklempel&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This tutorial shows the first steps how to test the cvs2svn tool in a Windows environment requiring minimal knowledge about CVS and SVN. The steps described have the purpose introduce you in the simplest ways how to create a CVS and a SVN repository and migrate CVS repositories to SVN repositories.</p>
<p>To run the <em>cvs2svn</em> tool and make use of some Linux tools, I opted to use a Linux-like environment for Windows called <em>cygwin</em>.</p>
<p>You can make all the steps simply using <em>cygwin</em>. However, as a Windows user, I think using the clients <em>TortoiseCVS</em> and <em>TortoiseSVN</em> could be more convenient, so is up to you to choose the most convenient way for you.</p>
<p>The commands mentioned in this tutorials that begin with <em><strong>$</strong></em> are for cygwin, the ones that begin with <em><strong>&gt;</strong></em> are for MS-DOS.</p>
<h3>Tools required</h3>
<ul>
<li>Install cygwin (with python, cvs, svn, gnutls, optionally rxvt, which I recommend). If you want to use rxvt on top of cygwin, create an icon with following target and start it: <em>C:\cygwin\bin\rxvt.exe -bg black -fg yellow -cr blue -bd pink -fn &#8220;Lucida Console-16&#8243; -ls -st -sr -sl 2000 -tn xterm -e /usr/bin/bash &#8211;login -i</em></li>
<li>Install <em>TortoiseCVS</em> and <em>TortoiseSVN</em>.</li>
<li>Install the SVN Server for windows (or optionally use the svn server in <em>cygwin</em>)</li>
<li>Install <em>cvs2svn</em> using <em>cygwin</em>: download the <em>cvs2svn</em> file and unpack (e.g. in C:/Program Files).<code><br />
$ cd /c/Program\ Files/cvs2svn-2.1.0/<br />
$ make install</code></li>
</ul>
<h3>Create a CVS repository</h3>
<p>Using MS-DOS:</p>
<p><span style="font-family:Courier New;">&gt; set CVSROOT=C:/CVSServer<br />
&gt; cvs init</span></p>
<p>Using <em>cygwin</em>:</p>
<p><span style="font-family:Courier New;">$ export CVSROOT=C:/CVSServer<br />
$ cvs init</span></p>
<h3>Create and checkout a new CVS Module</h3>
<p>Using <em>cygwin</em>:</p>
<p><span style="font-family:Courier New;">$ cd &lt;path to a directory that contains initial data to be uploaded to the new module&gt;<br />
$ cvs import -m &#8220;First new module&#8221; MyFirstModule sts start</span> <span style="font-family:Courier New;"><br />
$ cd &lt;path to the directory where the new module shall be checked out&gt;<br />
$ cvs co MyFirstModule</span></p>
<p>Using <em>TortoiseCVS</em>:</p>
<ul>
<li>Create a new folder</li>
<li>In Windows Explorer right click this folder and choose the option &#8220;CVS -&gt; Make New Module&#8230;&#8221;</li>
<li>Choose the protocol &#8220;Locally mounted folder (:local:)&#8221;, enter the repository path &#8220;C:/CVSServer&#8221; and enter the name of the new module. The CVSROOT field will be automatically build as &#8220;:local:C:/CVSServer&#8221;. After clicking OK, this folder will automatically be checked out.</li>
<li>Copy some initial data into the new folder, mark the content, right click and choose the option &#8220;CVS Add&#8230;&#8221; and then &#8220;CVS Commit&#8230;.&#8221;</li>
</ul>
<h3>Migrate the CVS repository into SVN</h3>
<p>Now we can run the cvs2svn tool to migrate the previously created CVS repository to a new SVN repository. Try the following command in <em>cygwin</em>:</p>
<p><span style="font-family:Courier New;">$ /c/Program\ Files/cvs2svn-2.1.0/cvs2svn &#8211;svnrepos /c/SVNServer/ /c/CVSServer/MyFirstModule</span></p>
<p>After performing the command above, a new directory should have been created (C:\SVNServer\). Now the new SVN repository needs to be configured.</p>
<h3>Configure the new SVN repository</h3>
<p>Open the file C:\SVNServer\conf\svnserve.conf and uncomment the following settings:</p>
<p>[general]<br />
anon-access = read<br />
auth-access = write<br />
password-db = passwd</p>
<p>Open the file C:\SVNServer\conf\passwd and uncomment the following settings:</p>
<p>[users]<br />
harry = harryssecret<br />
sally = sallyssecret</p>
<h3>Start the SVN server</h3>
<p>You have a few different ways how to make the new SVN repository available for check outs.</p>
<p>One way is making the repository available as a SVN server &#8211; so, the repository will be available within your local network:</p>
<p><span style="font-family:Courier New;">$ svnserve &#8211;daemon &#8211;root /c/SVNServer</span></p>
<p>Alternatively you can start the SVN server as a windows service &#8211; open the MS-DOS console and enter the following command:</p>
<p>&gt; <span style="font-size:10pt;font-family:'Courier New';">sc create svnserve binpath= &#8220;\&#8221;C:\Program Files\Subversion\bin\svnserve.exe\&#8221; &#8211;service -r C:\SVNServer&#8221; displayname= &#8220;Subversion Server&#8221; depend= Tcpip start= auto</span></p>
<h3>Checkout the migrated SVN repository</h3>
<p>If you have started the SVN server, you can use the address <em>svn://localhost/trunk </em>for the checkout. If you would rather like just to use the file system, you can use the address <a href="/SVNServer/trunk"><span style="color:#000000;">file:///C:/SVNServer/trunk</span></a><span style="color:#000000;"><span style="text-decoration:underline;">.</span></span></p>
<p>Using <em>cygwin </em>or MS-DOS:</p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">cd &lt;path to the directory where the repository shall be checked out&gt;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">svn co &lt;svn address as described above&gt;</span></p>
<p>After performing the command above, a new directory should have been created with the same name as in the command argument.</p>
<p>Using <em>TortoiseSVN</em></p>
<ul>
<li>Create a directory that will contain a copy of the files in the SVN repository</li>
<li>Right-Click on the new created folder and choose option &#8220;SVN Checkout&#8230;&#8221;</li>
<li>Enter the address as described above and press the OK button.</li>
</ul>
<h3>How to create a new SVN repository and import initial data</h3>
<p>To create a new SVN repository, you can use the following command:</p>
<p><span style="font-family:Courier New;">$ svnadmin create /c/NewSVNServer</span></p>
<p>Now you can enter the folder that contains initial data that will be uploaded and then perform the import command.</p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">$ cd &lt;directory with initial data&gt;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:'Courier New';">$ svn import -m &#8220;Import initial data&#8221; svn://localhost/trunk/</span></p>
<p class="MsoNormal" style="margin:0;">
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/ruthklempel.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/ruthklempel.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ruthklempel.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ruthklempel.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ruthklempel.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ruthklempel.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ruthklempel.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ruthklempel.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ruthklempel.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ruthklempel.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ruthklempel.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ruthklempel.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ruthklempel.wordpress.com&blog=3517514&post=5&subd=ruthklempel&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://ruthklempel.wordpress.com/2008/04/22/migrating-cvs-to-svn-with-cvs2svn-basics-for-a-windows-user/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6b92b44e0cb11a21c3a89eaf1980a160?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">ruthklempel</media:title>
		</media:content>
	</item>
	</channel>
</rss>