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

RE: Tagging / branching svn:externals

From: Ian Brockbank <Ian.Brockbank_at_wolfsonmicro.com>
Date: 2004-06-29 10:44:33 CEST

Hi Thomas,

> The problem is, if we tag or branch (svn copy) a project, the
> svn:externals
> property is copied as well, pointing to the current version
> of vendor_sw. If
> we check it out later on, we get the project at date "tagged"
> but vendor_sw
> at date "today". What we want is to to tag project1, to tag
> vendor_sw and to
> change the target of our external definition to the new vendor_sw tag.
> Is there a smart way to handle this problem automatically and
> transparent to
> the user (e.g. by a hook-script)?

Interesting coincidence. We have the same problem here, so I wrote a
script to address it, and posted it to the dev list a couple of days ago
- see http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=69760
. I attach the scripts. Here's the body of the mail:

=============================
Hi All,

Not sure if this is really a patch - it's a submission of a new script
for contrib/client-side.

We use svn:externals, and have had problems with branching and tagging
as a result - see issues 1258, 1336 and 1829.

http://subversion.tigris.org/issues/show_bug.cgi?id=1258
http://subversion.tigris.org/issues/show_bug.cgi?id=1336
http://subversion.tigris.org/issues/show_bug.cgi?id=1829

I have developed a script which does an svn copy and allows you to
update the svn:externals in one of two ways to address tagging (1258)
and branching (1829):

--pin-externals or --tag

Update any svn:externals to ensure they have a version number,
using the current destination version if none is already specified.
Useful for tagging operations.

This implements 1258 (albeit in a script rather than the svn
commandline).

--update-externals or --branch

Update any unversioned svn:externals which point to a location
within one of the sources so that they point to the corresponding
location within the destination.

This implements 1829.

I include the script, svncopy.pl, along with a test script I built up
while developing the script, testsvncopy.pl. I include them both as .in
versions - they need to be renamed to just .pl and updated to have
@SVN_BINDIR@ and @SVN_TEST_REPOSITORY@ replaced with appropriate
settings for the local machine.

Note: this script is (almost) atomic - it does the work in a local
working copy and then commits (although it creates intermediate
directories directly in the repository, so there may be a couple of
preparatory checkins). However, it can result in a large working copy
and take a while...
=============================

Cheers,

Ian Brockbank
Senior Applications Software Engineer
e: ian.brockbank@wolfsonmicro.com / apps@wolfsonmicro.com
scd: ian@scottishdance.net
t: +44 131 272 7145
f: +44 131 272 7001

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Received on Tue Jun 29 10:45:24 2004

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