<?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>Public Mindsvn</title>
	<atom:link href="http://publicmind.in/blog/tag/svn/feed/" rel="self" type="application/rss+xml" />
	<link>http://publicmind.in/blog</link>
	<description>Simple and Sophisticated</description>
	<lastBuildDate>Fri, 27 May 2011 08:28:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dumping a remote SVN repository without admin access</title>
		<link>http://publicmind.in/blog/dumping-a-remote-svn-repository-without-admin-access/</link>
		<comments>http://publicmind.in/blog/dumping-a-remote-svn-repository-without-admin-access/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 20:49:47 +0000</pubDate>
		<dc:creator>Nitin</dc:creator>
				<category><![CDATA[Nitin's Blog]]></category>
		<category><![CDATA[cvsdude]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://publicmind.in/blog/?p=415</guid>
		<description><![CDATA[When you need to dump a SVN repository, all you have to do is svnadmin dump REPOS_PATH But wait, then you need to have admin access to the server on which your SVN repository is hosted. Often, that is not the case and you have to contact the company which hosts your repository to do [...]]]></description>
			<content:encoded><![CDATA[<p>When you need to dump a SVN repository, all you have to do is</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svnadmin dump REPOS_PATH</div></div>
<p>But wait, then you need to have admin access to the server on which your SVN repository is hosted. Often, that is not the case and you have to contact the company which hosts your repository to do it for you. I have a repository hosted at <a href="http://cvsdude.com">CVSdude</a> and I needed to dump it. As I am on the Developer Edition plan, I do not enjoy the privileges to backup my repositories from my admin panel. I could have mailed the guys at cvsdude, who according to me are quite supportive and quick to respond, but that would have taken longer than what I am going to describe next.</p>
<p>SVN provides a unique utility, <strong>svnsync</strong> which is a Subversion remote repository mirroring tool. Put simply, it allows you to replay the revisions of one repository into another one. Now, we can create an empty repository on our local system, synchronize it with the remote repository and then dump the local repository. Follow the following 4 step process to have a dump of your repository:<br />
<span id="more-415"></span></p>
<ol>
<li><strong>Create a local repository</strong>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svnadmin create c:/repos</div></div>
<p>It will create an empty repository on your local system.</li>
<li><strong>Add “pre-revprop-change” hook to your local repository</strong><br />
You need to add an empty file into the hooks folder of your repository. This file should be named <strong>pre-revprop-change.cmd</strong> on Windows and <strong>pre-revprop-change</strong> on Linux systems.<br />
For Linux users:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">echo ‘#!/bin/sh’ &gt; repos/hooks/pre-revprop-change<br />
chmod +x repos/hooks/pre-revprop-change</div></div>
<p>This allows <strong><em>svnsync</em></strong> to make revision changes to your local repository. Note that your remote repository is never modified during this process, in fact we just need read access to the remote repository.</li>
<li><strong>Synchronize your local repository with the remote repository</strong>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svnsync init file:///c:/repos https://test.cvsdude.com/fbl<br />
svnsync sync file:///c:/repos</div></div>
</li>
<li><strong>Dump your local repository</strong>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">svnadmin dump file:///c:/repos &amp;gt; repos.dmp</div></div>
</li>
</ol>
<p>That would be all, you can now have a cup of coffee. <img src='http://publicmind.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://publicmind.in/blog/dumping-a-remote-svn-repository-without-admin-access/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

