You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by David Kramer <da...@thekramers.net> on 2004/10/21 17:23:59 UTC

Combining multiple repositories into one?

I set up several repositories in Subversion for different projects that 
later turned out to be more related than I thought.  I would like to 
combine them into one repository.  The manual said something about using 
svnadmin for moving repositories, but I'm not sure that's applicable to 
what I want to do, or which svnadmin parameters to use.

Let's say I have
/data/subversion/foo/devel/blinkled
/data/subversion/foo/devel/bufflog  
/data/subversion/foo/devel/commom

accessed as 
svn://localhost/foo/devel/blinkled
svn://localhost/foo/devel/bufflog
svn://localhost/foo/devel/common

I would like to move all of this mess so they become one repository at 
svn://localhost/foo/devel
which would pull blinkled, bufflog, and common down, and they would share 
version numbers, etc.

How would I do that?

Thanks in advance.


-- 
DDDD   David Kramer         david@thekramers.net       http://thekramers.net
DK KD  You know the world is going crazy when the best rapper is a
DKK D  white guy, the best golfer is a black guy, France is accusing the
DK KD  US of arrogance and Germany doesn't want to go to war.
DDDD                                                              Chris Rock

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

Re: Combining multiple repositories into one?

Posted by "Brian W. Fitzpatrick" <fi...@collab.net>.
On Oct 21, 2004, at 2:17 PM, v4r4n wrote:

> Within the svn-book and other places, it is always suggested that you
> start a fresh new repository before combining multiple repositories.

It's not required.

> Is there something dangerous about adding another repository to an
> older repository?  What happens with the version numbers?  Would the
> version numbers add to each other? So if one is on version 25 and the
> other on 15, the whole repo would be on version 40?  I'm hesitating to
> try things first (ask questions later) because these commands are
> 'svnadmin' commands.

if you have two dumpfiles, each with 40 revisions and import them into 
a new repository, the first will get revs 1 to 40, and the second will 
get 41 to 80.

> The reason I ask is because in my particular situation I'd like to
> turn one repository into a branch of another without losing the
> history.

> I'm not entirely sure this is possible or even a good idea though.

Sure.  I did it with Cocoon's CVS repository when converting it to 
Subversion in http://svn.apache.org/repos/asf/

-Fitz


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

Re: Combining multiple repositories into one?

Posted by v4r4n <co...@gmail.com>.
Within the svn-book and other places, it is always suggested that you
start a fresh new repository before combining multiple repositories.

Is there something dangerous about adding another repository to an
older repository?  What happens with the version numbers?  Would the
version numbers add to each other? So if one is on version 25 and the
other on 15, the whole repo would be on version 40?  I'm hesitating to
try things first (ask questions later) because these commands are
'svnadmin' commands.

The reason I ask is because in my particular situation I'd like to
turn one repository into a branch of another without losing the
history.

I'm not entirely sure this is possible or even a good idea though.


On Thu, 21 Oct 2004 13:18:45 -0500, Brian W. Fitzpatrick
<fi...@collab.net> wrote:
> 
> On Oct 21, 2004, at 12:36 PM, Jacob Atzen wrote:
> 
> > On tor, okt 21, 2004 at 01:23:59 -0400, David Kramer wrote:
> >> Let's say I have
> >> /data/subversion/foo/devel/blinkled
> >> /data/subversion/foo/devel/bufflog
> >> /data/subversion/foo/devel/commom
> >>
> >> accessed as
> >> svn://localhost/foo/devel/blinkled
> >> svn://localhost/foo/devel/bufflog
> >> svn://localhost/foo/devel/common
> >>
> >> I would like to move all of this mess so they become one repository at
> >> svn://localhost/foo/devel
> >> which would pull blinkled, bufflog, and common down, and they would
> >> share
> >> version numbers, etc.
> >>
> >> How would I do that?
> >
> > How about:
> > svnadmin dump blinkled > blinkled.svn
> > svnadmin dump bufflog > bufflog.svn
> >
> > svnadmin create newrepos
> >
> > [create dir blinkled and bufflog in the new repository]
> >
> > cat blinkled.svn | svnadmin load --parent-dir blinkled newrepos
> > cat bufflog.svn | svnadmin load --parent-dir bufflog newrepos
> 
> That will work just fine, but, since Subversion does date-range
> searching linearly, it will break date-range searching in your
> repository.  For me, it's not A Big Deal--I have never used date-range
> searching in Subversion (although it was a necessity for me in CVS).
> It might be a big deal for you.
> 
> -Fitz
> 
> 
> 
> 
> ---------------------------------------------------------------------
> 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

Re: Combining multiple repositories into one?

Posted by "Brian W. Fitzpatrick" <fi...@collab.net>.
On Oct 21, 2004, at 12:36 PM, Jacob Atzen wrote:

> On tor, okt 21, 2004 at 01:23:59 -0400, David Kramer wrote:
>> Let's say I have
>> /data/subversion/foo/devel/blinkled
>> /data/subversion/foo/devel/bufflog
>> /data/subversion/foo/devel/commom
>>
>> accessed as
>> svn://localhost/foo/devel/blinkled
>> svn://localhost/foo/devel/bufflog
>> svn://localhost/foo/devel/common
>>
>> I would like to move all of this mess so they become one repository at
>> svn://localhost/foo/devel
>> which would pull blinkled, bufflog, and common down, and they would 
>> share
>> version numbers, etc.
>>
>> How would I do that?
>
> How about:
> svnadmin dump blinkled > blinkled.svn
> svnadmin dump bufflog > bufflog.svn
>
> svnadmin create newrepos
>
> [create dir blinkled and bufflog in the new repository]
>
> cat blinkled.svn | svnadmin load --parent-dir blinkled newrepos
> cat bufflog.svn | svnadmin load --parent-dir bufflog newrepos

That will work just fine, but, since Subversion does date-range 
searching linearly, it will break date-range searching in your 
repository.  For me, it's not A Big Deal--I have never used date-range 
searching in Subversion (although it was a necessity for me in CVS).  
It might be a big deal for you.

-Fitz


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

Re: Combining multiple repositories into one?

Posted by David Kramer <da...@thekramers.net>.
On Thu, 21 Oct 2004, Jacob Atzen wrote:

> On tor, okt 21, 2004 at 01:23:59 -0400, David Kramer wrote:
> > Let's say I have
> > /data/subversion/foo/devel/blinkled
> > /data/subversion/foo/devel/bufflog  
> > /data/subversion/foo/devel/commom
> > 
> > accessed as 
> > svn://localhost/foo/devel/blinkled
> > svn://localhost/foo/devel/bufflog
> > svn://localhost/foo/devel/common
> > 
> > I would like to move all of this mess so they become one repository at 
> > svn://localhost/foo/devel
> > which would pull blinkled, bufflog, and common down, and they would share 
> > version numbers, etc.
> > 
> > How would I do that?
> 
> How about:
> svnadmin dump blinkled > blinkled.svn
> svnadmin dump bufflog > bufflog.svn
> 
> svnadmin create newrepos
> 
> [create dir blinkled and bufflog in the new repository]
> 
> cat blinkled.svn | svnadmin load --parent-dir blinkled newrepos
> cat bufflog.svn | svnadmin load --parent-dir bufflog newrepos

That did just what I need, with one problem.  Expanding my "before" 
example:
/data/subversion/foo/devel/blinkled/trunk
/data/subversion/foo/devel/bufflog/trunk  
/data/subversion/foo/devel/commom/trunk

and I wanted
/data/subversion/foo/devel/trunk/blinkled
/data/subversion/foo/devel/trunk/bufflog
/data/subversion/foo/devel/trunk/commom

Fortunately I still had the brainpower at 1:00am to remember the dump 
files are plaintext.  So I just edited the paths in the dump file to be 
common/foo.c, bufflog/foo.c, and blinkled/foo.c.  Then I used trunk for 
the --parent-dir and it all worked out great.

Thanks to everyone.


-- 
DDDD   The UNIX Epoch and the Year 2038 by William Porquet 
DK KD  A 32-bit counter will expire in little over a year.  A 64-bit
DKK D  counter will expire in little over 2^32 years, or roughly the time
DK KD  the sun is expected to expire.  The odds of your computer hardware
DDDD   surviving the forementioned event without reboot are very slim.

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

Re: Combining multiple repositories into one?

Posted by Jacob Atzen <ja...@aub.dk>.
On tor, okt 21, 2004 at 01:23:59 -0400, David Kramer wrote:
> Let's say I have
> /data/subversion/foo/devel/blinkled
> /data/subversion/foo/devel/bufflog  
> /data/subversion/foo/devel/commom
> 
> accessed as 
> svn://localhost/foo/devel/blinkled
> svn://localhost/foo/devel/bufflog
> svn://localhost/foo/devel/common
> 
> I would like to move all of this mess so they become one repository at 
> svn://localhost/foo/devel
> which would pull blinkled, bufflog, and common down, and they would share 
> version numbers, etc.
> 
> How would I do that?

How about:
svnadmin dump blinkled > blinkled.svn
svnadmin dump bufflog > bufflog.svn

svnadmin create newrepos

[create dir blinkled and bufflog in the new repository]

cat blinkled.svn | svnadmin load --parent-dir blinkled newrepos
cat bufflog.svn | svnadmin load --parent-dir bufflog newrepos

-- 
Cheers,
- Jacob Atzen

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