[Svnmerge] svnmerge between multiple repositories, same repo path
Jack Repenning
jrepenning at collab.net
Mon Apr 9 17:33:24 PDT 2007
On Apr 9, 2007, at 4:13 PM, dustin at zmanda.com wrote:
> On Mon, Apr 09, 2007 at 03:10:26PM -0500, dustin at zmanda.com wrote:
>> I'd like to use svnmerge to manage merges between two different
>> repositories containing the same projects. Basically, I'd like to
>> merge
>> bidirectionally between:
>>
>> http://server1/svn/project/trunk
>> http://server2/svn/project/trunk
>>
>> My expectation was that svnmerge wouldn't be able to merge between
>> different repositories, but it seems to support this. To my surprise,
>> what it *can't* do is merge between two locations with the same repo
>> path (in this case, /project/trunk). The svnmerge properties make
>> the
>> reason clear: only the repo path is used to identify a branch.
>>
>> Is there a way around this?
>
> I think I answered my own question:
>
> remove_username_re = re.compile("/[^/]*@")
> def target_to_repos_relative_path(target):
> url = target_to_url(target)
> # remove '@xxxx', since that's usually user-specific for e.g.,
> an svn+ssh repo
> url = remove_username_re.sub("/", url)
> return url
>
> This does what I need -- changes the identifiers used in merges to
> be full
> urls, minus the username if one was provided.
Huh.
I have sort of the opposite case: I have some repository hosts that
some clients refer to by one name, and some by another (due to
gateway issues). One set of names can be used by everybody, albeit
with some performance loss for some; the other set is only usable by
some of the clients. Under certain scenarios, therefore, your change
would leave the inaccessible names in the props, right? And hence,
folks who couldn't use that name would be unable to benefit from
svnmerge's history-keeping. Right? I haven't verified this, nor
have I really thought through all the scenarios to see if there's
some viable work-around.
I'm not sure whether my case or yours is the more obscure, but if I
may be totally selfish, I'd hate for *my* favorite corner case to be
broken by the fix to yours! ;-)
-==-
Jack Repenning
jrepenning at collab.net
There are two ways of constructing a software design. One way is to
make it so simple that there are obviously no deficiencies. And the
other way is to make it so complicated that there are no obvious
deficiencies. The first method is far more difficult.
- C.A.R. Hoare
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/svnmerge/attachments/20070410/89f49be9/attachment.html>
More information about the Svnmerge
mailing list