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