Complex VSS Migration - dealing with moved/branched version history

Toby Johnson toby at etjohnson.us
Wed Aug 15 18:13:02 EDT 2007


FYI, vss2svn is a completely separate project from Subversion; I am 
copying in that mailing list so please join there 
(http://www.pumacode.org/projects/vss2svn) to discuss further. See 
additional comments below...

Bicking, David (HHoldings, IT) wrote:
> I searched for days for information and tried many options, and now am
> standing at a brick wall.
>
> I am evaluating Subversion as a replacement for VSS.  This company has a
> huge repository (about 10G) in which branching and sharing were rampant.
> Worse, there was no plan for how projects were defined.  Consequently,
> in addition to the typical VSS corruptions in the data, most projects
> (folders) have references to other projects somewhere deep in the
> history.
>   

First off, I would take a step back and ask yourself if converting and 
maintaining all that history is really worth it. I have seen lots of 
people (including myself) who struggled with migrating a perfect copy of 
their VSS history only to find out they ended up using it much less than 
they anticipated. Particularly in your case I would say it sounds like a 
clean start may be your best option going forward; it may be more 
inconvenient in the short term but after a few months you'll probably 
find yourself needing that history very infrequently.

Due to the state of your VSS repo it may be better to simply put VSS 
into read-only mode for reference and then simply export the contents 
and import to Subversion. You'll still need to deal with all those 
shares, since that feature does not translate to Subversion, although 
svn:externals is close enough for many purposes.

> I want to migrate pieces of this behemoth into SVN, but cannot.  I used
> vss2svn to get a dumpfile (12G) and tried to use svndumpfilter to grab
> relevant pieces.  Per the state of the data described in the prior
> paragraph, it fails every time.  I found no reference to any way to pull
> a specific project "tree" and get all its history, which is quite odd.
> I would think this would be crucial.  Why not permit migration to pull
> the original data into place?  A note stating "original location is x"
> should be sufficient.
>   

I'm not sure exactly what you're asking here. If you are asking why 
vss2svn doesn't allow migrating only a portion of the VSS hierarchy 
instead of the whole thing, the answer to that is rather technical but 
in a nutshell the way VSS stores its history in "physical files" makes 
it very difficult to convert only a portion of the repo since the 
program must essentially walk the entire VSS tree in order to resolve 
parent-child relationships.

Most people who want to do what you are trying to accomplish do use the 
svndumpfilter approach; if you can provide more specific info as to why 
that is failing then we may be able to provide a better suggestion or 
workaround.

toby



More information about the vss2svn-users mailing list