<?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>Johan Känngård &#187; Subversion</title>
	<atom:link href="http://johankanngard.net/tag/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://johankanngard.net</link>
	<description>Useful tips for developers</description>
	<lastBuildDate>Thu, 19 May 2011 18:40:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Full and incremental dump of a Subversion repository from a Windows BAT file</title>
		<link>http://johankanngard.net/2008/05/23/full-dump-of-a-subversion-repository-from-a-windows-bat-file/</link>
		<comments>http://johankanngard.net/2008/05/23/full-dump-of-a-subversion-repository-from-a-windows-bat-file/#comments</comments>
		<pubDate>Fri, 23 May 2008 13:47:43 +0000</pubDate>
		<dc:creator>Johan Känngård</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://johankanngard.net/2008/05/23/full-dump-of-a-subversion-repository-from-a-windows-bat-file/</guid>
		<description><![CDATA[The first is something you should do weekly on your Subversion repository &#8211; a full dump. Put the following in a BAT or CMD file on a Windows box, and run it scheduled. @echo off REM Creates a full dump of the repository, should be run weekly for /f \"tokens=1-4 delims=- \" %%a in (\'date [...]]]></description>
			<content:encoded><![CDATA[<p>The first is something you should do weekly on your <a href="http://subversion.tigris.org">Subversion</a> repository &#8211; a full dump. Put the following in a BAT or CMD file on a Windows box, and run it scheduled.</p>
<p><code><br />
@echo off<br />
REM Creates a full dump of the repository, should be run weekly</p>
<p>for /f \"tokens=1-4 delims=- \" %%a in (\'date /T\') do set year=%%a<br />
for /f \"tokens=1-4 delims=- \" %%a in (\'date /T\') do set month=%%b<br />
for /f \"tokens=1-4 delims=- \" %%a in (\'date /T\') do set day=%%c<br />
for /f \"tokens=1-2 delims=: \" %%a in (\'time /T\') do set hour=%%a<br />
for /f \"tokens=1-2 delims=: \" %%a in (\'time /T\') do set minute=%%b<br />
set TODAY=%year%%month%%day%<br />
set NOW=%hour%%minute%</p>
<p>for /F \"tokens=1 \" %%i IN (\'svnlook youngest c:\\repository\') do call set YOUNGEST=%%i<br />
echo %YOUNGEST% > c:\\backup\\repository\\latestRev.dat<br />
svnadmin dump c:\\repository > c:\\backup\\repository\\svndump_full_rev%YOUNGEST%.%TODAY%%NOW%<br />
</code><br />
The above example makes a dump to c:\backup\repository of your repository at c:\repository named with the most recent revision and todays date and time.<br />
The example below creates incremental dumps using the latestRev.dat file to store the latest revision that was dumped.<br />
<code><br />
	@echo off<br />
	REM Creates a partial dump with all revisions since last full dump, should be run daily</p>
<p>	for /f \"tokens=1-4 delims=- \" %%a in (\'date /T\') do set year=%%a<br />
	for /f \"tokens=1-4 delims=- \" %%a in (\'date /T\') do set month=%%b<br />
	for /f \"tokens=1-4 delims=- \" %%a in (\'date /T\') do set day=%%c<br />
	for /f \"tokens=1-2 delims=: \" %%a in (\'time /T\') do set hour=%%a<br />
	for /f \"tokens=1-2 delims=: \" %%a in (\'time /T\') do set minute=%%b<br />
	set TODAY=%year%%month%%day%<br />
	set NOW=%hour%%minute%</p>
<p>	for /F \"tokens=1 \" %%i in (\'svnlook youngest c:\\repository\') do call set YOUNGEST=%%i<br />
	set PREVIOUS=0<br />
	if not exist c:\\backup\\repository\\latestRev.dat goto nolatestrev</p>
<p>	for /F \"tokens=1 \" %%i in (c:\\backup\\repository\\latestRev.dat) do call set PREVIOUS=%%i</p>
<p>:nolatestrev:<br />
	if %YOUNGEST% == %PREVIOUS% goto noupdate</p>
<p>	echo %YOUNGEST% > c:\\backup\\repository\\latestRev.dat</p>
<p>	svnadmin dump -r %PREVIOUS%:%YOUNGEST% c:\\repository > c:\\backup\\repository\\svndump_incremental_rev%PREVIOUS%to%YOUNGEST%.%TODAY%%NOW%<br />
	goto finally</p>
<p>:noupdate<br />
	echo No dump needed<br />
:finally<br />
</code><br />
I&#8217;m no Windows batch file pro, but I got this working anyway with some help from <a href="http://www.google.com">Google</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://johankanngard.net/2008/05/23/full-dump-of-a-subversion-repository-from-a-windows-bat-file/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

