[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: tracking of a third party svn repository

From: Ryan Schmidt <subversion-2006c_at_ryandesign.com>
Date: 2006-07-15 17:32:35 CEST

On Jul 15, 2006, at 16:23, Ewout ter Haar wrote:

> I want to track third-party software, which is
> mantained in a svn repository, making my local
> modifications, but tracking their updates.
> I read about vendor branches
> http://svnbook.red-bean.com/nightly/en/svn.advanced.vendorbr.html
> but this seems to cover the case where
> the upstream package is not available via a
> repository. As I understand it, svn_load_dirs.pl in particular
> is meant to load unversioned trees into your own
> repo.
> But if I load a third-party package into my own
> repository, with svn:externals maybe, then
> I cannot do any merge operations, right?
> I am sure I am missing something trivial. What is the
> normal way people handle this situation?

Currently, you can only do a merge from a remote repository into a
working copy from your repository if the exact same protocol is used
for both repositories (both use https, for example, or both use svn
+ssh). If the protocols differ, you get a message that cross-protocol
operations are not supported.

It has been said on this list that Subversion was never intended to
support cross-repository merging like this, that this use is
unsupported, and the fact that it happens (or seems) to work when
both repositories use the same protocol is an accident rather than a
feature. IIRC, it was also stated that this was going to be disabled
entirely in a future version of Subversion -- perhaps as soon as
1.4.0, I'm not sure.

IOW, I don't know how to do what you want, though I too would like to
know if there's a good answer.

Where I work, we do use the vendor branch strategy. We download
released tarballs of the 3rd-party projects we're interested in and
bring them into the /vendor section of our own repository -- initial
import using svn import, subsequent updates using svn_load_dirs.pl.
When we want to make a version of one of those projects with a few
local modifications, we copy the project out of /vendor to some other
path in the repository (usually under a directory for whatever
customer we're doing this for -- for example yesterday I helped a
coworker set up a modified version of phpBB for one of our
customers). Local modifications can then take place in that copied
directory, and the modified project can be deployed from there. As
soon as we want to merge in a newer version of the upstream code,
that's no problem. First, we load it into /vendor with
svn_load_dirs.pl, then we merge the changes from there into the copy
in the customer's directory.

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sat Jul 15 17:33:56 2006

This is an archived mail posted to the Subversion Users mailing list.