You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Se...@mapinfo.com on 2004/03/01 20:27:39 UTC

Re: How do I tag a module in subversion?

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