[Svnmerge] svnmerge & foreign repositories

Eric Engstrom engstrom at mtu.net
Wed Jan 28 13:55:20 PST 2009


[ moving an email thread to the list ]

Dustin J. Mitchell wrote:
> Jon Schewe wrote:
>> Can you explain more on your idea of using svnmerge to synchronize
>> commits between two subversion repositories?
> We generally commit changes to both repositories at about the same time:
>   commit to A
>   cd into B
>   svnmerge merge
>   commit
> but if someone forgets, or one of the repos is frozen for some
> reason (release branch, etc.), then we will see that in 'svnmerge
> avail' - that way patches aren't accidentally forgotten.
>
>
>> And svnmerge is able to handle the merges across the two
>> repositories? I thought it only tracked a single repository.
> As of almost two years ago, it can track inter-repository merges, too.
> Subversion itself wasn't so good at such merges (it choked on added
> files) until 1.5, though.
>
>> So how do you do the init on the branches? Just use svnmerge.py
>> init <other repository url> for both repositories?
> Yes

In my use of svnmerge.py, I've never found an option in the code or
documentation that would not strip the repository root off the given
URL.  That is, what I want to do is this:

  given repositories
    A:  http://svn.foo.com/svn/repoA
    B:  http://svn.bar.org/svn/repoB
  I would like to:
    $ cd <sandbox-for-B>
    $ svnmerge.py init http://svn.foo.com/svn/repoA/trunk -r 1-2042
    property 'svnmerge-integrated' set on '.'
  However, I now get this in the bookkeeping properties that svnmerge.
    $ svn pl -v | grep svnmerge
    svnmerge-integrated : /trunk:1-2042

Dustin J. Mitchell wrote:
> I think you want the -L option to svnmerge init:
> 
>   -L [--location-type] LOCATION-TYPE : Use this type of location
> identifier in the new Subversion properties; 'uuid', 'url', or 'path'
> 
> This was the feature that was added some time ago to allow
> inter-repository merging, and it solves exactly the problem you
> observed.  Either uuid or url would work for you.  We used uuid
> because it's more stable through changes of access mechanism (e.g.,
> svn+ssh -> http).

Ok, sounds like it does what I want, but which version of svnmerge.py
has this nice feature in it?  I've been using a version that I got
directly from the subversion svn server (as pointed to by the orcaware
site):

  http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/

thanks,
Eric



More information about the Svnmerge mailing list