[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] Berkeley DB to FSFS migration

From: Martin Tomes <lists_at_tomes.org>
Date: 2005-06-03 12:56:58 CEST

kfogel@collab.net wrote:
> Our FAQ could really use an item on such conversions. Would you be
> willing to write a patch to http://subversion.tigris.org/faq.html?

As requested.

   * www/faq.html
     (svnserve-win-service): Move closing of container div to end
     of faq entry.
     (bdb-fsfs-convert): Add entry describing how to convert
     between repository backends.

Martin Tomes
echo 'martin at tomes x org x uk'\
 | sed -e 's/ x /\./g' -e 's/ at /@/'
The Subversion Wiki is at http://www.subversionary.org/

Index: faq.html
--- faq.html (revision 14955)
+++ faq.html (working copy)
@@ -120,6 +120,8 @@
 <li><a href="#svnserve-win-service">How do I run svnserve as a service
 on Windows?</a></li>
+<li><a href="#bdb-fsfs-convert">How do I convert my repository from using BDB
+to FSFS or from FSF to BDB?</a></li>
@@ -1828,13 +1830,61 @@
 Windows service, but there are a number of &ldquo;service
 wrappers&rdquo; that can do the job; for example:</p>
 is a free tool written by Magnus Norddahl</li>
 is avaliable free of charge from Microsoft</li>
+<div class="h3" id="bdb-fsfs-convert" title="bdb-fsfs-convert">
+<h3>How do I convert my repository from using BDB
+to FSFS or from FSF to BDB?</h3>
+<p>There are two steps:</p>
+ <li>A dump/load from the old format to the new
+ one.</li>
+ <li>Copy the hook scripts.</li>
+<p>Say you have a repository <tt>/svn/myrepos</tt> which is using the BDB
+backend and you would like to switch to using the FSFS backend:</p>
+ <li>Close down your server so that the data cannot change during this
+ procedure.</li>
+ <li>Make a new repository specifying the fsfs backend (it is the default
+ from 1.2 onwards), e.g., <tt>svnadmin create /svn/myreposfsfs --fs-type
+ fsfs</tt>.</li>
+ <li>Pipe the output of a dump from <tt>/svn/myrepos</tt> to the input of a
+ load into <tt>/svn/myreposfsfs</tt>, e.g., <tt>svnadmin dump /svn/myrepos
+ -q | svnadmin load /svn/myreposfsfs</tt>. Windows users should dump
+ to a file and load from that file in two separate steps.</li>
+ <li>Copy any hook scripts which are active in <tt>/svn/myrepos/hooks</tt>
+ into <tt>/svn/myreposfsfs/hooks</tt>. Don't mindlessly copy everything, the
+ templates generated by Subversion may have changed.</li>
+ <li>Compare the template scripts which the <tt>svnadmin create</tt> command
+ put in <tt>/svn/myreposfsfs/hooks</tt> with those in
+ <tt>/svn/myrepos/hooks</tt> and incorporate any changes which you would like
+ into your active hook scripts.</li>
+ <li>Rename <tt>/svn/myrepos</tt> to <tt>/svn/myreposbdb</tt> and then
+ <tt>/svn/myreposfsfs</tt> to <tt>/svn/myrepos</tt> ensuring that the
+ file permissions are the same as those that the BDB version had.</li>
+ <li>Restart the server.</li>
+<p>Once you are happy that all is well with your new repository delete the old
+<p>To do the reverse and migrate from FSFS to BDB change the <tt>svnadmin
+create</tt> command to specify BDB.</p>

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 3 12:58:05 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.