Dirk <vss2svn <at> nogga.de> writes:
> 
> Adam Ehven schrieb:
> >
> > Hi,
> >
> > I’ve been reading through the archives trying to get a general idea on 
> > label support in vss2svn. But it’s a little hard for a newbie to come 
> > into this discussion and find the bottom line. I would be very 
> > grateful if someone could summarize vss2svn’s current capabilities 
> > regarding porting labels from vss.
> >
> > Thanks very much,
> >
> 
> Actually the support is very simple: When a label is detected, the state 
> of the archive is copied to the "label" directory. In this action the 
> full project path is maintained, e.g consider the following structure
> 
> $/
> $/Project
> $/Project/SubProject
> 
> And a label "rootlabel" is attached to the root project and a second 
> label "sublabel" is attached to the SubProject, you will find the 
> following structure in subversion
> 
> * label/rootlabel/ -> Project/SubProject
> * label/sublabel/Project/ -> SubProject
> 
> This is done in order to solve the "Label promotion" feature of vss. If 
> you use the same label twice, they are considered the same. So in case, 
> when we hit the same label a second time, the state of the archive is 
> copied on top of the current label.
> 

Some additional comments:

When the VSS database has multiple top-level projects with common 
labels,

   $/Project1      (labeled with '1.0' and '2.0')
   $/Project2      (labeled with '1.0', '2.0' and '2.1')

a single directory for each label and subdirectories for each 
of the projects are created in the Subversion repository.

   labels/
     1.0/
       Project1/
       Project2/
     2.0/
       Project1/
       Project2/
     2.1/
       Project2/

So, when searching for a particular label (tag), look first for the 
directory with the label text and then for a subdirectory with 
the project name.

Dirk, I'm curious if you considered inverting the structure, like

   labels/
     Project1/
       1.0/
       2.0/
     Project2/
       1.0/
       2.0/
       2.1/

and determined this layout to have problems.


Be aware that the Subversion repository can end up with nested 
'labels' directories.  This happens if the root of the VSS database 
was labeled.

    $/  (labeled '1.0')

then later

    $/  (labeled '2.0')

These labels are converted to

   labels/
     1.0/
     2.0/
       labels/      (this directory is unexpected)
         1.0/

If you perform a checkout/export of a tag (label), your working 
copy could contain more than what it would have with a corresponding 
Get of the label in VSS.  To make a checkout/export work as 
expected, the unexpected 'labels' subdirectories need to be 
removed.
_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users-lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user

Reply via email to