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

Re: Revisions of external folders

From: Reinhard Brandstädter <r.brandstaedter_at_gmx.at>
Date: 2005-01-14 16:24:11 CET

On Friday 14 January 2005 11:53, Alex R. Mosteo wrote:
> > Someone who has actually done this should step up and clue us both in
> > though :).
>
> Yep, seems a bit strange you can't have multiple projects using a
> external dependency (for example a library stored somewhere else) easily
> synchronized. I suspect I'm missing the svn way for doing this.

I'm one who wants to do exactly this. And just yesterday the same question
came to my mind.
The svn:external property itself is versioned right?

The desired behavior is as follows(?):
When I have a revision of repository A with an svn:externals property then
"both sides" of the external link should be "synchronized"?

If I have:
svn:externals set to "lib -r21 <repos-B-url>/trunk" in revision x of my
repository A and then I'm tagging repository A trunk, then the checked out
tag of repository A would still include the revision 21 of the repository B
trunk, right?

Same is valid if I do a
svn:externals set to "lib <repos-B-url>/tags/rev21" in revision x of my
repository A and then tagging repository A trunk. The checked out tag of
repository A would include the (also tagged) revision 21 of repository B
trunk.

BUT:
If i did
svn:externals set to "lib <repos-B-url>/trunk" in revision x of my repository
A and then I'm tagging repository A trunk. The checked out tag of repository
A would always include the latest HEAD revision of repository B trunk.

If this is the behavior of subversion in the current implementation this
means:
Definitely "freezing" a repository (meaning checked out tags are always
identical even if the referenced external repositories change) with external
definitions by tagging it only works if external properties are set with the
-r option or also freezed tags of the external repositories are used.

A use case:
We have a repository for a project; If we do a release or beta build the state
of the repository trunk is tagged. Now we use externals pointing to another
repository (libraries). If I want to do a rebuild of the tagged project later
on I can't ensure that the build based on the checked out tag will be
absolute the same as tat the time the tag was made since the lib-repository
might have changed. This is the case unless you used the -r option on the
external property or point to a (read-only) tag.

In my opinion I'd prefer a implicit setting of the -r option when tagging a
repository with external properties.
(Idea: could this be done by a hook script?).
On the other hand always having the current revision of a external referenced
repository might be useful for smoke-tests...

Cheers,
Reinhard

-- 
Reinhard Brandstaedter
Wiener Str. 28                  phone: 0043 699 12419541
4020 Linz                       icq:   73059068
Austria                         email: r.brandstaedter@gmx.at
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Jan 14 16:33:16 2005

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