Hello all,

I have been wondering, but I'm not familiar enough with the
internals of vss2svn to know whether what I'm thinking of
would be extremely complex or only a little involved.
So I thought I'd just ask the gurus here :)

In short I would like vss2svn to "cover up" for VSS's inability
to record project-level shares. A sample scenario is as follows :

SS Create $/MainProject
SS Add $/MainProject/file.txt
SS Create $/MainProject/Subdir
SS Add $/MainProject/Subdir/file.txt

SS Create $/Branches
SS CP $/Branches # CP=ChangeProject

# share $/MainProject to $/Branches/MyFirstBranch
SS Share $/MainProject -PMyFirstBranch -Ccomment

As we all know, the last line creates fresh new projects for
the whole tree underneath $/MainProject and populates them
with files shared from under $/MainProject.

vss2svn currently converts this last line into :

svn mkdir /Branches/MyFirstBranch -Mcomment
svn cp /MainProject/file.txt /Branches/MyFirstBranch
svn mkdir /Branches/MyFirstBranch/Subdir -Mcomment
svn cp /MainProject/Subdir/file.txt /Branches/MyFirstBranch/Subdir

Notice that :
 1. directory creations are interleaved with file copies
 2. the comment is only used for the file copies
... which leads to
 3. vss2svn puts each of the above commands into its own revision

In my repository I have a branch creation, executed with the exact
above SS command line, that results in no less than 141 svn
revisions !

Interestingly I have another branch point where no comment was
supplied : vss2svn manages to squeeze it into only 2 svn revisions,
though it is not clear why everything did not fit in a single revision.

Still, this is an awful lot of activity for something that could
have been represented as a single 

svn cp /MainProject /Branches/MyFirstBranch -Mcomment

Therefore my question is : what would it involve for vss2svn to
recognize such project-level shares ?

My uninformed thinking has so far led me to believe that it
could be as "simple" as :
 1. detecting that all the files in a project are shared
    to a new project by the same user in a reasonable timespan :
    this would mark that new project as a candidate for a
    directory copy;
 2. all that remains is to handle subprojects : if a new
    project fits 1. and all of its subprojects fit 2. then
    it can be copied.

How naïve does this sound?

Cheers,
--Jonathan

_______________________________________________
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