You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Randall Meadows <sv...@not-pc.com> on 2007/10/11 19:20:00 UTC

Merging overlapping repos

I looked around a bit, but couldn't find anything that definitively 
answered my question.

I have a repo that I've been using while working for a client; the 
client now wants to host a repo on their servers, and merge my work 
with that of another programmer they have.  None of my actual work 
overlaps with the other programmer, but the structure of our repos 
do.  That is, both repos have, at their root:

/trunk/
/branches/
/tags/

All the stuff in my "trunk" is different than what's in the other 
"trunk".  When I dump my repo and then load it into their repo, will 
it merge correctly (that is, my "trunk" will NOT overwrite their 
existing "trunk")?

Or do I need to dump the *contents* of my "trunk", and then load that 
into their "trunk"?

Thanks!
-- 
randy

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

Re: Merging overlapping repos

Posted by Randall Meadows <sv...@not-pc.com>.
At 5:56 PM -0500 10/11/07, Ryan Schmidt wrote:

>On Oct 11, 2007, at 14:20, Randall Meadows wrote:
>
>>I have a repo that I've been using while working for a client; the 
>>client now wants to host a repo on their servers, and merge my work 
>>with that of another programmer they have.  None of my actual work 
>>overlaps with the other programmer, but the structure of our repos 
>>do.  That is, both repos have, at their root:
>>[snip]
>>All the stuff in my "trunk" is different than what's in the other 
>>"trunk".  When I dump my repo and then load it into their repo, 
>>will it merge correctly (that is, my "trunk" will NOT overwrite 
>>their existing "trunk")?
>>
>>Or do I need to dump the *contents* of my "trunk", and then load 
>>that into their "trunk"?
>
>[snip]
>If you have another ultimate structure in mind, you may still want 
>to "svn mkdir" a new directory in their repository, "svnadmin load 
>--parent-dir" your dump into that new directory. Then you can "svn 
>mv" everything around until it suits you.

OK, I finally took the plunge and did the migration, into a temp 
directory, and then moved it to the correct locations.  It mostly 
worked.

What I migrated was 2 repos, one containing work exclusive to my 
client's work, and the other containing my "utility" code which I 
used in the client code.  The former worked just fine; the latter, 
however, despite *appearing* to have worked (I see all the 
transactions being added and the rev number increases), afterwards 
the files are nowhere to be found.  I used --parent-dir to load them 
into my temp dir, and the folders containing the files are there, but 
not the files themselves (there's only one level of hierarchy, and 
the parent folders appear, but not the files in them).

I actually did this twice; once I did a clean check out of the new 
repo and tried to build, it was readily apparent that some files were 
missing, so I did it again; then I did an 'svn list', and still the 
files were missing.

Now, this "utility" code of mine were defined as svn:externals to 
some of the client code folders, but this shouldn't matter when 
loading the repo from dumpfiles, right?  It's not just that the files 
are not being checked out, they simply don't exist in the repo.

Can anyone tell me what's up?
-- 
randy

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

Re: Merging overlapping repos

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Oct 11, 2007, at 14:20, Randall Meadows wrote:

> I looked around a bit, but couldn't find anything that definitively  
> answered my question.
>
> I have a repo that I've been using while working for a client; the  
> client now wants to host a repo on their servers, and merge my work  
> with that of another programmer they have.  None of my actual work  
> overlaps with the other programmer, but the structure of our repos  
> do.  That is, both repos have, at their root:
>
> /trunk/
> /branches/
> /tags/
>
> All the stuff in my "trunk" is different than what's in the other  
> "trunk".  When I dump my repo and then load it into their repo,  
> will it merge correctly (that is, my "trunk" will NOT overwrite  
> their existing "trunk")?
>
> Or do I need to dump the *contents* of my "trunk", and then load  
> that into their "trunk"?

You will need to think about what structure you would like for the  
new combined repo. Would you like:

/theirs/
	trunk/
	branches/
	tags/
/mine/
	trunk/
	branches/
	tags/

If so, then you would

svn mkdir $REPO/theirs
svn mv $REPO/trunk $REPO/theirs
svn mv $REPO/branches $REPO/theirs
svn mv $REPO/tags $REPO/theirs
svn mkdir $REPO/mine

Then you can dump your repo and load it into $REPO/mine using the -- 
parent-dir argument to svnadmin load.

If you have another ultimate structure in mind, you may still want to  
"svn mkdir" a new directory in their repository, "svnadmin load -- 
parent-dir" your dump into that new directory. Then you can "svn mv"  
everything around until it suits you.

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