I mentioned a workaround for this earlier, and after messing with
branching, I believe I came up with the wrong workaround. When copying a
directory with externals, what I really want is for the externals to
become copies.
So if this is my structure:
root (revision 20)
apps
a1
trunk
source
c1 (external: components/c1/trunk)
c2 (external: components/c2/trunk)
c3 (external: components/c3/trunk)
components
c1
trunk
c2
trunk
c3
trunk
and I want to tag 'a1' like so
svn copy apps/a1/trunk apps/a1/tags/release-1.0.0
What I thought I wanted was the externals to be locked down at the current
revision like so:
root (revision 21)
apps
a1
tags
release-1.0.0
source
c1 (external: -r21 components/c1/trunk)
c2 (external: -r21 components/c2/trunk)
c3 (external: -r21 components/c3/trunk)
But now that I consider branching, what I really want is copies:
root (revision 21)
apps
a1
tags
release-1.0.0
source
c1 (copy of components/c1/trunk at revision 21)
c2 (copy of components/c2/trunk at revision 21)
c3 (copy of components/c3/trunk at revision 21)
By doing this, I make a tag behave the same way as a branch, as is normal
for subversion.
Does anybody see any flaws in my logic?
Do you think this should become standard behavior for subversion?
Or should this be handled by adding more options to svn copy, so I could
lock down the external revisions for tags, and expand out externals for
branches?
========================================
Sean Shubin
MapInfo, Predictive Analytics
Newport Beach, CA
(949) 885-4926
Received on Mon Mar 1 21:26:25 2004