You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Matt imMute Sickler <im...@msk4.ath.cx> on 2008/03/05 16:45:38 UTC

Reorganizing multiple repositories

Suppose I have two repos: (these are the root folders)
	$REPOA = /var/svn/repos/repoA
	$REPOB = /var/svn/repos/repoB

and I have some projects:
	$REPOA/project1
	$REPOA/project2
	$REPOB/project3
	$REPOB/project4 ( only existed in revisions X to Y )

Is it possible to dump the changes to
	$REPOA/project1 (all revisions affected)
	$REPOA/project2 (all revisions affected)
	$REPOB/project3 (all revisions affected)
	and $REPOB/project4 ( rev X:Y )
and then combine the streams into a single repository?
( $REPOA and $REPOB both contain other projects that I dont want dumped)

Assume that I don't care that the revision numbers will get messed up 
(but I don't want "padding" revisions).
(But it would be nice if the commits could be sorted chronologically)


Also, would It be possible to mangle the paths before the separate dumps 
are combined?  Basically so I can do this:
	$REPOA/project1  =becomes> $REPOC/projects/project1
	$REPOA/project2  =becomes> $REPOC/projects/project2
	$REPOB/project3  =becomes> $REPOC/projects/project3
	$REPOB/project4  =becomes> $REPOC/projects/project4
Then I will manually add
	$REPOC/tags
	$REPOC/branches

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Reorganizing multiple repositories

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Mar 5, 2008, at 10:45, Matt imMute Sickler wrote:

> Suppose I have two repos: (these are the root folders)
> 	$REPOA = /var/svn/repos/repoA
> 	$REPOB = /var/svn/repos/repoB
>
> and I have some projects:
> 	$REPOA/project1
> 	$REPOA/project2
> 	$REPOB/project3
> 	$REPOB/project4 ( only existed in revisions X to Y )
>
> Is it possible to dump the changes to
> 	$REPOA/project1 (all revisions affected)
> 	$REPOA/project2 (all revisions affected)
> 	$REPOB/project3 (all revisions affected)
> 	and $REPOB/project4 ( rev X:Y )
> and then combine the streams into a single repository?
> ( $REPOA and $REPOB both contain other projects that I dont want  
> dumped)
>
> Assume that I don't care that the revision numbers will get messed  
> up (but I don't want "padding" revisions).

svnadmin load should be able to handle that. Simply dump both  
repositories to files with "svnadmin dump", and then load those two  
files into your new third repo with "svnadmin load".

> (But it would be nice if the commits could be sorted chronologically)

That, however, "svnadmin load" will not do. You'll have to use a  
third-party tool for that. I believe there are at least two scripts  
that have been written to do that. "reposmerge" is one...

http://www.thehirts.net/blog/?page_id=24


> Also, would It be possible to mangle the paths before the separate  
> dumps are combined?  Basically so I can do this:
> 	$REPOA/project1  =becomes> $REPOC/projects/project1
> 	$REPOA/project2  =becomes> $REPOC/projects/project2
> 	$REPOB/project3  =becomes> $REPOC/projects/project3
> 	$REPOB/project4  =becomes> $REPOC/projects/project4
> Then I will manually add
> 	$REPOC/tags
> 	$REPOC/branches

That's the "--parent-dir" argument to "svnadmin load".


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org