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

Re: let's kill svn:externals

From: SteveKing <steveking_at_gmx.ch>
Date: 2003-07-23 19:55:18 CEST

----- Original Message -----
From: "Garrett Rooney" <rooneg@electricjellyfish.net>
> The problem is that with our current design making that kind of support
> (which is really the thing that might make externals worthwhile) work
> would require a ton of effort. Making it happen with today's repository
> would just be ridiculously slow. One of the nice things about
> Subversion is that branching and tagging is constant time, but that will
> go away real fast if in the process of making a copy you have to search
> all over the place for externals to update... So to make it fast
> externals would require some way to track the parts of the repos that
> have svn:externals properties, so that search could be fast, so we're
> getting in to a lot of extra work. I'm not saying it wouldn't be nice
> to have, but I am saying that these kind of thigns need to be thought
> out and planned, and I don't think they were when we first added support
> for svn:externals to the tree. Perhaps we can do a better job (and have
> a more useful feature) if we cut it now and rework it (or something like
> it) as a post-1.0 feature.

Right now, the svn:externals property can have an url and
a revision number as its value (e.g. "folder -r 777 http://myurl").
I think I know where the problem is when you try to tag
those externals when doing an "svn copy" - the revision


extend svn:externals so that it also can be "folder HEAD http://myurl"
and only tag this case. (assume HEAD if no -r is given).
Because tagging the externals when a revision is specified is
not necessary since the user already did that.

Now: with every "svn up" the externals also get updated. When doing that
check the HEAD revision of the external project and store that inside
another property (e.g. svn:externalsrev) which is invisible to the user.
If you do a "svn copy" now all you have to do is replace the "HEAD"
of the original svn:externals property with that stored revision number:
"folder HEAD http://myurl" -> "folder -r 888 http://myurl"

That way you don't have to do much checks and loose precious
time when doing an "svn copy"


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jul 23 19:56:09 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.