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