<?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>botsko &#187; Subversion/CVS</title>
	<atom:link href="http://www.botsko.net/blog/category/subversioncvs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.botsko.net/blog</link>
	<description>continuing education</description>
	<lastBuildDate>Sat, 24 Jul 2010 21:42:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Moving Subversion Repository Across Machines</title>
		<link>http://www.botsko.net/blog/2007/11/14/moving-subversion-repository-across-machines/</link>
		<comments>http://www.botsko.net/blog/2007/11/14/moving-subversion-repository-across-machines/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 18:31:55 +0000</pubDate>
		<dc:creator>Michael Botsko</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Subversion/CVS]]></category>
		<category><![CDATA[Tech-Tidbit]]></category>

		<guid isPermaLink="false">http://www.botsko.net/blog/2007/11/14/moving-subversion-repository-across-machines/</guid>
		<description><![CDATA[I recently moved my development server from a linux box to my primary machine, an iMac. I wanted to move my subversion repository while maintaining the file histories for everything inside. Worrying that it was going to be a huge issue, I was happy to discover it was completely simple: On the existing repository machine, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently moved my development server from a linux box to my primary machine, an iMac. I wanted to move my subversion repository while maintaining the file histories for everything inside. Worrying that it was going to be a huge issue, I was happy to discover it was completely simple:</p>
<p>On the existing repository machine, run:</p>
<p><code>svnadmin dump /path/to/repository > repository-name.dmp</code></p>
<p>Transfer your dump file to the new machine and then, create a repository. Once subversion is running and you have your repository created, import the dump file:</p>
<p><code>svnadmin load /path/to/repository-name< /path/to/repository-name.dmp</code></p>
<p>You're done!</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.botsko.net/blog/2007/11/14/moving-subversion-repository-across-machines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up Subversion on Mac OS X 10.5</title>
		<link>http://www.botsko.net/blog/2007/11/14/setting-up-subversion-on-mac-os-x-105/</link>
		<comments>http://www.botsko.net/blog/2007/11/14/setting-up-subversion-on-mac-os-x-105/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 18:26:51 +0000</pubDate>
		<dc:creator>Michael Botsko</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Subversion/CVS]]></category>
		<category><![CDATA[Tech-Tidbit]]></category>

		<guid isPermaLink="false">http://www.botsko.net/blog/2007/11/14/setting-up-subversion-on-mac-os-x-105/</guid>
		<description><![CDATA[I recently began working exclusively on an iMac so I decided to setup a subversion server locally and as my new machine would simply replace my local development machine, which is a Fedora Core 6 pc. You&#8217;ll need to setup at least one repository. I&#8217;m going to need multiple repositories that I can use for [...]]]></description>
			<content:encoded><![CDATA[<p>I recently began working exclusively on an iMac so I decided to setup a subversion server locally and as my new machine would simply replace my local development machine, which is a Fedora Core 6 pc.</p>
<p>You&#8217;ll need to setup at least one repository. I&#8217;m going to need multiple repositories that I can use for different clients so I have a bit of extra admin work ahead of me. You can setup as many repositories as you need, but no matter what you&#8217;ll need at least one. Here create the folders&#8230;</p>
<p><code># mkdir /svn<br />
# mkdir /svn/repos</code></p>
<p>Then we need to tell subversion to make our first repository.<br />
<code><br />
# svnadmin create /svn/repos/myproject</code></p>
<p>First, I need to setup a config file for svnserve.</p>
<p><code># vi /svn/repos/conf/svnserve.conf</code></p>
<p>Then, look for variations of the following code and edit it as necessary. By default any anonymous user can access the code so to disable that you <strong>must</strong> include anon-access = none, just commenting the value out will not prevent anonymous access.</p>
<p><code>anon-access = none<br />
password-db = passwdfile<br />
realm = My SVN Repository<br />
auth-access = write</code></p>
<p>The password-db is just a path to a file containing usernames and passwords. You&#8217;ll create this file especially for SVN. I create each file inside of the repository conf directory. So, save your changes and then we&#8217;ll create said user file.</p>
<p><code># vi passwdfile</code></p>
<p>Enter in something like:</p>
<p><code>[users]<br />
username = password</code></p>
<p>Anyway, you&#8217;ll need to start the svn server.</p>
<p><code># svnserve -d --listen-port=3690</code></p>
<p><em>One side note &#8211; svnserve just runs and doesn&#8217;t have a way to stop besides killing the process. If you make changes to the svnserve.conf or user file you&#8217;ll need to restart svnserve.</em></p>
<p><code># killall svnserve</code></p>
<p>Then, go ahead and test (best to do so on a different machine).<br />
<code><br />
# svn co --username=myusername svn://mydomain/svn/repos/myproject<br />
</code></p>
<p>The system should then ask you for your password. Go ahead and run some tests. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.botsko.net/blog/2007/11/14/setting-up-subversion-on-mac-os-x-105/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CVS to Subversion Transfer</title>
		<link>http://www.botsko.net/blog/2007/10/22/cvs-to-subversion-transfer/</link>
		<comments>http://www.botsko.net/blog/2007/10/22/cvs-to-subversion-transfer/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 00:15:22 +0000</pubDate>
		<dc:creator>Michael Botsko</dc:creator>
				<category><![CDATA[Subversion/CVS]]></category>
		<category><![CDATA[Tech-Tidbit]]></category>

		<guid isPermaLink="false">http://www.botsko.net/blog/2007/10/22/cvs-to-subversion-transfer/</guid>
		<description><![CDATA[Most of my projects all use Subversion now, as everyone knows it&#8217;s the recommended little brother of CVS. However, for everything that doesn&#8217;t have a home in SVN with a client, I was storing in CVS I had running on my local dev machine. Not wanting to loose any of my files or their histories, [...]]]></description>
			<content:encoded><![CDATA[<p>Most of my projects all use Subversion now, as everyone knows it&#8217;s the recommended little brother of CVS. However, for everything that doesn&#8217;t have a home in SVN with a client, I was storing in CVS I had running on my local dev machine. </p>
<p>Not wanting to loose any of my files or their histories, I wanted to find a way to transfer everything into subversion. At the recent ZendCon I heard about <a href="http://cvs2svn.tigris.org/cvs2svn.html">cvs2svn</a> and I tried it out. It was very easy to install (required Python, which was easy for me to installed through Yum), and it was easy to run &#8211; at least for me as I was just pulling everything over.</p>
<p>Now I&#8217;ve got everything in subversion and I was able to maintain the file histories for everything.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.botsko.net/blog/2007/10/22/cvs-to-subversion-transfer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Subversion on Fedora Core</title>
		<link>http://www.botsko.net/blog/2007/05/17/installing-subversion-on-fedora-core/</link>
		<comments>http://www.botsko.net/blog/2007/05/17/installing-subversion-on-fedora-core/#comments</comments>
		<pubDate>Thu, 17 May 2007 16:45:25 +0000</pubDate>
		<dc:creator>Michael Botsko</dc:creator>
				<category><![CDATA[Subversion/CVS]]></category>
		<category><![CDATA[Tech-Tidbit]]></category>

		<guid isPermaLink="false">http://www.botsko.net/blog/2007/05/17/installing-subversion-on-fedora-core/</guid>
		<description><![CDATA[I&#8217;ve been using subversion a lot recently &#8211; from using repositories with client development companies to installing it for clients &#8211; it seems to be the SVN month. Here&#8217;s how I installed subversion on a machine with Fedora Core 4. For anyone learning or using Subversion, I highly recommend that you read the book. You [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using subversion a lot recently &#8211; from using repositories with client development companies to installing it for clients &#8211; it seems to be the SVN month. </p>
<p>Here&#8217;s how I installed subversion on a machine with Fedora Core 4. For anyone learning or using Subversion, I highly recommend that you <a href="http://svnbook.red-bean.com/nightly/en/svn-book.html">read <em>the book</em></a>.</p>
<p>You may already have subversion installed, if not, just run this:</p>
<p><code># yum install subversion<br />
# yum install mod_dav_svn</code></p>
<p>Then you&#8217;ll need to setup at least one repository. I&#8217;m going to need multiple repositories that I can use for different clients so I have a bit of extra admin work ahead of me. You can setup as many repositories as you need, but no matter what you&#8217;ll need at least one. Here create the folders&#8230;</p>
<p><code># mkdir /svn<br />
# mkdir /svn/repos<br />
# mkdir /svn/users<br />
# mkdir /svn/permissions</code></p>
<p>We need to give these folders the proper permissions</p>
<p><code># chown -R apache.apache /svn</code></p>
<p>Then we need to tell subversion to make our first repository.<br />
<code><br />
# svnadmin create /svn/repos/myproject</code></p>
<p>First, I need to setup a config file for svnserve.</p>
<p><code># vi /svn/repos/conf/svnserve.conf</code></p>
<p>Then, look for variations of the following code and edit it as necessary. By default any anonymous user can access the code so to disable that you <strong>must</strong> include anon-access = none, just commenting the value out will not prevent anonymous access.</p>
<p><code>anon-access = none<br />
password-db = passwdfile<br />
realm = My SVN Repository<br />
auth-access = write</code></p>
<p>The password-db is just a path to a file containing usernames and passwords. You&#8217;ll create this file especially for SVN. I create each file inside of the repository conf directory. So, save your changes and then we&#8217;ll create said user file.</p>
<p><code># vi passwdfile</code></p>
<p>Enter in something like:</p>
<p><code>[users]<br />
username = password</code></p>
<p>Anyway, you&#8217;ll need to start the svn server.</p>
<p><code># svnserve -d --listen-port=3690</code></p>
<p><em>One side note &#8211; svnserve just runs and doesn&#8217;t have a way to stop besides killing the process. If you make changes to the svnserve.conf or user file you&#8217;ll need to restart svnserve.</em></p>
<p><code># killall svnserve</code></p>
<p>Then, go ahead and test (best to do so on a different machine).<br />
<code><br />
# svn co --username=myusername svn://mydomain/svn/repos/myproject<br />
</code></p>
<p>The system should then ask you for your password. Go ahead and run some tests. </p>
<p><strong>Now, let&#8217;s setup apache.</strong></p>
<p>Create a new apache include file that will hold our configurations (You may already have this is subversion was already installed).</p>
<p><code># vi /etc/httpd/conf.d/subversion.conf</code></p>
<p>Now, this file will need to contain something like this to serve the repository through apache:</p>
<p><code><br />
LoadModule dav_svn_module modules/mod_dav_svn.so<br />
LoadModule authz_svn_module modules/mod_authz_svn.so</p>
<p><location /svn/repos><br />
DAV svn<br />
SVNPath /svn/repos<br />
AuthType Basic<br />
AuthName "Subversion Repository"<br />
AuthUserFile /svn/users/svnpass<br />
Require valid-user<br />
AuthzSVNAccessFile /svn/permissions/svnauthz.conf<br />
</location><br />
</code></p>
<p>Now, this essentially tells apache to load the mods needed for svn. We need to create some files so that this config will work properly. The first is our htpasswd file which I named &#8220;/svn/users/svnpass&#8221;.</p>
<p><code># htpasswd -cb /svn/users/svnpass username password</code></p>
<p>Next we need to create the svnauth file.</p>
<p><code># vi /svn/permissions/svnauthz.conf</code></p>
<p>Inside we&#8217;ll place a list of users who have access to files:</p>
<p><code><br />
[/] </p>
<p>username = rw<br />
</code></p>
<p>The &#8220;rw&#8221; states that this user has read/write access to the root repository /. </p>
<p>Restart your web server and you should be done. </p>
<p><code>service httpd reload</code><br />
or you can use:<br />
<code>/usr/sbin/apachectl restart</code> &#8211; this option outputs better error messages in case you&#8217;ve made some syntax mistakes.</p>
<p>Go to your repository and you should see subversion displaying the repo info.</p>
<p>http://yoursite.com/svn/repos/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.botsko.net/blog/2007/05/17/installing-subversion-on-fedora-core/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Subversion on CentOS</title>
		<link>http://www.botsko.net/blog/2007/03/12/installing-subversion-on-centos/</link>
		<comments>http://www.botsko.net/blog/2007/03/12/installing-subversion-on-centos/#comments</comments>
		<pubDate>Tue, 13 Mar 2007 03:43:04 +0000</pubDate>
		<dc:creator>Michael Botsko</dc:creator>
				<category><![CDATA[Subversion/CVS]]></category>

		<guid isPermaLink="false">http://www.botsko.net/blog/?p=173</guid>
		<description><![CDATA[I&#8217;ve been using subversion a lot recently &#8211; from using repositories with client development companies to installing it for clients &#8211; it seems to be the SVN month. Anywhere, here&#8217;s how I did it. Using CentOS 4.2. For anyone learning or using Subversion I highly recommend that you read the book. First you need to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using subversion a lot recently &#8211; from using repositories with client development companies to installing it for clients &#8211; it seems to be the SVN month. </p>
<p>Anywhere, here&#8217;s how I did it. Using CentOS 4.2. For anyone learning or using Subversion I highly recommend  that you <a href="http://svnbook.red-bean.com/nightly/en/svn-book.html">read <em>the book</em></a>.</p>
<p>First you need to get the package and install it.</p>
<p><code># wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz<br />
# gunzip subversion-1.3.2.tar.gz<br />
# tar -xvf subversion-1.3.2.tar<br />
# cd subversion-1.3.2<br />
# ./configure<br />
# make<br />
# make install</code></p>
<p>Then you&#8217;ll need to setup at least one repository. I&#8217;m going to need multiple repositories that I can use for different clients so I have a bit of extra admin work ahead of me. You can setup as many repositories as you need, but no matter what you&#8217;ll need at least one. Here create the folders&#8230;</p>
<p><code># mkdir /svn<br />
# mkdir /svn/repo</code></p>
<p>Then we need to tell subversion to make our first repository.<br />
<code><br />
# svnadmin create /svn/repo/myproject</code></p>
<p>For the time being, I&#8217;ll use the default svn server called <em>svnserve</em>. You can use apache to get a ton of extra features and better security. Click here for more information on using <a href="http://alexle.net/archives/138">Apache with subversion</a>. I need do some additional research for my multiple-repository setup before switching to apache though.</p>
<p>First, I need to setup a config file for svnserve.</p>
<p><code># vi /svn/repo/myproject/conf/svnserve.conf</code></p>
<p>Then, look for variations of the following code and edit it as necessary. By default any anonymous user can access the code so to disable that you <strong>must</strong> include anon-access = none, just commenting the value out will not prevent anonymous access.</p>
<p><code>anon-access = none<br />
password-db = passwd<br />
realm = My SVN Repository<br />
auth-access = write</code></p>
<p>The password-db is just a path to a file containing usernames and passwords. This is automatically created by svn inside the repository conf directory. So, save your changes and then we’ll edit said user file.</p>
<p><code># vi passwd</code></p>
<p>Enter in something like:</p>
<p><code>[users]<br />
username = password</code></p>
<p>Yes, pretty basic. See what I meant about svnserve and security? The password is in plain text so if someone ever got your system or that file, they&#8217;ll have the passwords inside. That&#8217;s one more reason to move to apache.</p>
<p>Anyway, you&#8217;ll need to start the svn server.</p>
<p><code># svnserve -d</code></p>
<p>One side note &#8211; svnserve just runs and doesn&#8217;t have a way to stop besides killing the process. If you make changes to the svnserve.conf or user file you&#8217;ll need to restart svnserve.</p>
<p><code># killall svnserve</code></p>
<p>Then, go ahead and test (best to do so on a different machine).<br />
<code><br />
# svn co --username=myusername svn://&lt;hostname&gt;/svn/repo/myproject<br />
</code></p>
<p>The system should then ask you for your password and off you go!</p>
<p><strong>Update 6/25/09:</strong> Minor clarifications thanks to Andy Hunt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.botsko.net/blog/2007/03/12/installing-subversion-on-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech-Tidbit: Subversion Post-Commit Email</title>
		<link>http://www.botsko.net/blog/2007/03/10/tech-tidbit-subversion-post-commit-email/</link>
		<comments>http://www.botsko.net/blog/2007/03/10/tech-tidbit-subversion-post-commit-email/#comments</comments>
		<pubDate>Sat, 10 Mar 2007 22:24:25 +0000</pubDate>
		<dc:creator>Michael Botsko</dc:creator>
				<category><![CDATA[Subversion/CVS]]></category>
		<category><![CDATA[Tech-Tidbit]]></category>

		<guid isPermaLink="false">http://www.botsko.net/blog/?p=171</guid>
		<description><![CDATA[I was setting up an installation of subversion for a client (and I will be for myself soon here &#8211; it&#8217;s about time to move from CVS) and I needed to enable it to send an email to folks each time a commit was made. This tidbit assumes that you&#8217;ve already installed SVN on a [...]]]></description>
			<content:encoded><![CDATA[<p>I was setting up an installation of subversion for a client (and I will be for myself soon here &#8211; it&#8217;s about time to move from CVS) and I needed to enable it to send an email to folks each time a commit was made. This tidbit assumes that you&#8217;ve already installed SVN on a linux machine.</p>
<p>First, you need to visit your hooks dir (created when you create a new repository (which is done using svnadmin)). </p>
<p><code># cd /path/to/repo/hooks</code></p>
<p>You need to download a copy of the commit email perl script, which you can <a href="http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-email.pl.in">get from here</a>.</p>
<p><code># wget http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-email.pl.in</code></p>
<p>Then, rename it to .pl. You&#8217;ll need to rename the special file that SVN uses to activate the email. This file is post-commit.tmpl and you&#8217;ll need to rename it to <em>post-commit</em>.</p>
<p><code># mv commit-email.pl.in commit-email.pl<br />
# cp post-commit.tmpl post-commit<br />
</code></p>
<p>Next you need to edit the post-commit file so that it sends your email out. At the bottom of the file, add the following:</p>
<p><code>/path/to/repo/hooks/commit-email.pl "$REPOS" "$REV" --from svn@example.com "me@example.com" "you@example.com"</code></p>
<p>Then just save the file. Now you&#8217;re ready to test. You can either make a commit or run the below command.  First call the post-commit, then provide the path to a repository to watch, then provide the revision number you want to run a test on. If you&#8217;ve just imported code and don&#8217;t have any other revisions, just provide the number 1 &#8211; but beware the possibility of a really long email.</p>
<p><code># ./post-commit /path/to/repo 40</code></p>
<p>Things should be working fine by this point, but I ran into a problem. I saw the error message <code>Global symbol "@SVN_BINDIR" requires explicit package.</code> In that case, just go into the commit-email and change the <code>@SVN_BINDIR</code> variable on line 46 to the full path of <em>svnlook</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.botsko.net/blog/2007/03/10/tech-tidbit-subversion-post-commit-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
