From: Flanakin Michael C Ctr HQ OSSG/OMR
[mailto:Michael.Flanakin@Gunter.AF.mil]
> I'm trying to convert a repository from BDB to FSFS.
> Is there a utility that can do this?
Probably, but this script is what I used with success. YMMV....HTH!
Lee Goddard
Internet Application Development, European Aviation Safety Agency
T: +49 221 89990 3221
E: Lee.Goddard@EASA.EU.int
#!/usr/bin/perl -w
#
# Perl script to convert an svn repository
# Author: Lee Goddard (lee.goddar@easa.eu.int)
# Last Updated: 18 August 2005
#
use Cwd;
use strict;
use warnings;
use Data::Dumper;
my $root = '/var/repositories/';
opendir DIR, $root or die "can't opendir $root: $!";
my %dirs = map { $_ => '' } grep { !/(\.|2)$/ && -d "$root/$_" } readdir
DIR;
closedir DIR;
foreach (keys %dirs){
open FILE,"$_/db/fs-type" or die "Can't open $_/db/fs-type: $!";
read FILE, $dirs{$_}, -s FILE;
chomp $dirs{$_};
close FILE;
}
foreach my $orig (keys %dirs){
next if $dirs{$orig} eq 'fsfs';
my $new = $orig."_new";
warn "create $new...\n";
`svnadmin create $root$new --fs-type fsfs`;
die "# Error creating $new: $?\n" if $?;
`chmod -R 775 $root$new`;
die "# Error chmod $new: $?\n" if $?;
`chown -R svn:dev $root$new`;
die "# Error chown $new: $?\n" if $?;
warn "dump | load ...\n";
`svnadmin dump $root$orig -q | svnadmin load $root$new`;
die "# Error dump|load $?\n" if $?;
`mv $root$orig $root${orig}_bdb`;
die "# Error renaming old repo $?\n" if $?;
`mv $root$new $root$orig`;
die "# Error renaming new repo $?\n" if $?;
}
warn "# Done.\n";
exit;
__END__
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Aug 30 14:51:47 2005