On Wed, Dec 12, 2012 at 02:13:01PM -0500, Stefan Scherer wrote: > The idea being that we simply move the peg revision on a plugin in order to > include the latest QA approved plugin in a release candidate build. > After QA approved the candidate we simply tag the staging branch as a > release. > > The problem is that for this to work I first have to peg all the relative > externals of a plugin on the trunk. > Then peg that revision for "staging" so that the externals of that external > are exported at the right revision. > Then unpeg the trunk again so that development occurring on trunk gets the > head revision. > > This is very cumbersome.
To do this in a single commit, you can get a fresh working copy of trunk, and pin down peg revs in svn:externals properties in this working copy. Next, copy this working copy to the staging location in the repository: cd working-copy svn copy . https://svn.ingenius.com::8443/svn/ICE/staging/foo Or use the ^/ short hand notation: cd working-copy svn copy . ^/ICE/staging/foo In windows cmd.exe you'll to type ^^/ instead: svn copy . ^^/ICE/staging/foo because ^ is a special character there. The staging branch/tag will be created as a server-side copy of trunk, plus modifications to svn:externals properties you made in the working copy.