subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@elego.de>
Subject Re: Update externals - trunk -> branch
Date Tue, 26 Mar 2013 20:18:23 GMT
On Tue, Mar 26, 2013 at 01:25:36PM -0500, C M wrote:
> Hmm, I wouldn't have expect that a merge would be needed to update a
> property value. Is there another way this can be accomplished?

No, apart from editing the property on the branch manually.

> Our team is new to SVN and feeling its way around the tool.

Trust me, running a merge that merges the revision which changed the
svn:externals property is the way this is intended to be done by design.

Below is an example which assumes a /trunk folder and a /branch
folder which is a copy of /trunk, plus one working copy of each
called 'trunk' and 'branch' respectively.

We first go into the trunk working copy, and then create a new directory
in the repository called /ext. This is defined as an external so that
it appears in the trunk working copy at the path epsilon/ext.
Next, the revision which defined the external at /trunk/epsilon is
merged into the branch.

For brackground info on 'svn merge' see 'svn help merge' and
http://svnbook.red-bean.com/en/1.7/svn.branchmerge.html

$ cd trunk
$ ls
alpha    beta     epsilon/ gamma/
$ svn ps svn:externals '^/'
$ svn mkdir ^/ext -m "add external dir to repos"

Committed revision 3.
$ svn propset svn:externals '^/ext ext' epsilon
property 'svn:externals' set on 'epsilon'
$ svn up
Updating '.':

Fetching external item into 'epsilon/ext':
External at revision 3.

At revision 3.
$ svn st
 M      epsilon
X       epsilon/ext

Performing status on external item at 'epsilon/ext':
$ svn ci -m "add external to epsilon"
Sending        epsilon

Committed revision 4.
$ cd ../branch/  # go to working copy of branch
$ svn merge -c4 ^/trunk
--- Merging r4 into '.':
 U   epsilon
--- Recording mergeinfo for merge of r4 into '.':
 U   .
$ svn diff
Index: epsilon
===================================================================
--- epsilon     (revision 2)
+++ epsilon     (working copy)

Property changes on: epsilon
___________________________________________________________________
Added: svn:externals
## -0,0 +1 ##
+^/ext ext
Index: .
===================================================================
--- .   (revision 2)
+++ .   (working copy)

Property changes on: .
___________________________________________________________________
Added: svn:mergeinfo
   Merged /trunk:r4
$ svn ci -m "merge r4 from trunk"
Sending        .
Sending        epsilon

Committed revision 5.
$ svn up
Updating '.':

Fetching external item into 'epsilon/ext':
External at revision 5.

At revision 5.
$ svn st
X       epsilon/ext

Performing status on external item at 'epsilon/ext':
$

Mime
View raw message