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

RE: Help with splitting SVN database into smaller bits

From: Murli Varadachari <murli_at_yahoo-inc.com>
Date: 2006-10-12 19:55:16 CEST


I had a similar issue to what you describe -- in that we have a single large
CVS repository ( about 40GB) consisting of about 35 projects. A straight run
through cvs2svn of the entire repository resulted in a structure that had
trunk/, tag/ and branches/ at the top level which wasn't exactly what I was
looking for.

So instead I used cvs2svn to get a dump of individual projects ( after
having copied the needed CVS components that represent the project to a temp
area). Subsequently I loaded each project dump file into its own project

svnadmin load --parent-archives projects/projects1 /<repos-path> <

The resulting svn structure looked like


I wrote myself a little script that allowed me to automate this process for
subsequent re-runs.

I think svndumpfilter can be useful to prune out unwanted tags / branches
etc -- not sure if you can restructure the repository ( again I may be wrong
on this !)


> -----Original Message-----
> From: Nikki Locke [mailto:info@trumphurst.com]
> Sent: Thursday, October 12, 2006 10:11 AM
> To: users@subversion.tigris.org
> Subject: Help with splitting SVN database into smaller bits
> I'm starting to convert from CVS to Subversion. I have a single CVS
> repository that holds code for a number of entirely separate projects.
> I ran the database through cvs2svn, and it imported cleanly. However, now
> I'm starting to understand the way SVN and cvs2svn organises branches and
> tags, I would like to separate the projects out. The data is currently
> organised as...
> trunk/project1
> trunk/project2
> branches
> branches/branch1/project1
> branches/branch2/project1
> branches/branch1/project2
> etc.
> There are about 900 revisions.
> I would like to reorganise it into separate repositories
> project1
> trunk
> branches
> project2
> trunk
> branches
> I read the book (well, at least the first half), and figured I needed to
> do
> svnadmin dump followed by some svndumpfilters. But I am having serious
> trouble with svndumpfilter.
> I assume (from experiment) that I can't do something like
> svndumpfilter '*/project1'
> So I made myself a list of all the Node-path: lines in the dump file, then
> pruned the list to just include the top-level nodes I wanted - e.g.
> branches/branch1/project1
> branches/branch2/project1
> trunk/project1
> The file contained about 100 wanted nodes (lots of branches and tags I
> wanted to keep).
> I then ran
> svndumpfilter --drop-empty-revs --renumber-revs include `cat list`
> on the dump file, but the resultant file contained almost no nodes.
> So I approached it from the other direction, and made a list of all the
> nodes I wanted to delete, and ran
> svndumpfilter --drop-empty-revs --renumber-revs exclude `cat list`
> Again, the resultant file did not contain all the nodes I wanted.
> Have I found a bug, or do I just misunderstand how it is supposed to work?
> --
> Nikki Locke, Trumphurst Ltd. PC & Unix consultancy & programming
> http://www.trumphurst.com/
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Oct 12 19:56:40 2006

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

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