[Svnmerge] Merging for foriegn repositories
Archie Cobbs
archie at dellroad.org
Fri Nov 18 09:22:18 PST 2005
Blair Zajac wrote:
> I'm finding a need to track a foreign svn repository and want to merge
> commits from that repository to my repository.
>
> In this case, I've got a private copy of the Ruby on Rails repository at
> http://dev.rubyonrails.org/svn/rails/trunk checked into my
> /vendor/trunk. What I want to do is anytime they tag a new release, I
> want to merge from their trunk any unmerged revisions up to the revision
> that was used for the tag. And when they introduce key bug fixes,
> rather than waiting for a new release, I want to merge in only those
> several commits.
>
> I would love to use svnmerge for this, but trying to do this doesn't
> work, as when you type
>
> $ svnmerge init -s -v -r 1-2926 http://dev.rubyonrails.org/svn/rails/trunk
> ...
> Password for 'blair': svnmerge: checking latest revision of
> http://dev.rubyonrails.org/svn/rails/trunk
> svnmerge: latest revision of http://dev.rubyonrails.org/svn/rails/trunk
> is 3078
> svnmerge: checking status of "."
> svnmerge: marking . as already containing revisions 1-2926 of
> http://dev.rubyonrails.org/svn/rails/trunk.
> svn propset -q svnmerge-integrated /trunk:1-2926 .
>
> Then you end up with '/trunk:1-2926' in your svnmerge-integrated.
>
> I'm aware that you can access the same repository from multiple URLs, so
> I think the solution to this is to get the repository UUID and prepend
> it to the svnmerge-integrated for each path. This way, it doesn't
> matter how the repository is accessed.
>
> $ svn info http://dev.rubyonrails.org/svn/rails/trunk | grep UUID
> Repository UUID: 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
>
> I think the current svnmerge-integrated property can continue to stand
> as is, but if there's a integrated property formated as
>
> 5ecf4fe2-1ee6-0310-87b1-e25e094e27de:/trunk:1-2926
>
> then svnmerge looks into a new 'svnmerge-foreign-repos' property for a
> table that links the UUID to the root of the foreign svn repository:
>
> 5ecf4fe2-1ee6-0310-87b1-e25e094e27de:http://dev.rubyonrails.org/svn/rails/
>
> The new 'svnmerge-foreign-repos' property is created when 'svnmerge
> init' is run with a foriegn URL.
That's nice but the real problem is that "svn merge" doesn't support
merging from a different repository. I tried to file a feature request
for this once but was shot down by the mailing list/bug database nazis.
-Archie
__________________________________________________________________________
Archie Cobbs * CTO, Awarix * http://www.awarix.com
More information about the Svnmerge
mailing list