recently at my workplace, i had to look in to, moving existing sources in vss, to svn. i have been using svn for a while now. both personally and at work. all i can say is its a pretty neat source controlling system. there is some hype about GIT. but i have not tried it yet. gotta give it a try sometime.
so when it comes to moving your existing source code from vss to svn, there are couple of utilities that you can use for this task. after doing some research. i settled down with vss2svn. it seemed to me that vss2svn is a mature up to date, maintained tool than the rest. however this is what i think. so if you are attempting to do a vss to svn migration you better do your own research and find out. vss2svn is basically a perl script. and it also includes another program called ssphys. ssphys is a c++ program that is suppose to deal with all the ‘talking to vss’.
i wanted to use the latest available source for vss2svn. but unfortunately there was no release or up to date nightly build in the site. so the only option was to build it from source. i am sure it won’t be a big deal if you are going to do this in a *nix box. but as for me i had to do it in a windows box. which required me to install perl and do something to get the necessary environment ready. you can get the latest source through the svn repo.
Building ssphys on windows
follow the instructions on how to do this at pumacode.
Setting up Perl in windows
- get activestate perl and install it.
- you will need to install some perl modules that are not installed by default in order to run the script(vss2svn). some of these modules are not installable via the activestate package manager. so you will have to use the cpan shell(this comes with the activestate perl distribution) to install these. btw i am assuming that you have some vc++ compiler installed on your box(ie: vs2005 with vc++). you will need this when you use the cpan shell. as it compiles perl modules from source(and some perl modules have source code written in c…).
- in a command shell, go to perl install directory(ex:- cd C:\perl) and type cpan. now you should be in the cpan shell.
- you can install all the dependencies of the script(vss2svn) at once by using (inside the cpan shell)ex:- force install DBI DBD::SQLite2 Time::CTime Config::INI Text::Glob Digest::MD5 Data::UUID
- please check whether these modules are already installed or not in your activestate perl distribution. you can do this via the activestate package manager.(accessible via the start menu….).
- i have use the force key word above because some tests failed during the installation of perl modules. using the force key word will ignore test failures and install the packages anyways.
- although the devnotes.txt(that comes with the source code of the script. in the vss2svn directory of the main source tree. get it through svn…) says ‘Config::Ini is needed’, its really Config::INI. note the letter case. you will have to use Config::INI when you are installing it through cpan or else cpan would say there is no such package(or something similar…)
btw i have updated the pumacode wiki with these notes of mine.
now you should be good to go. good luck with running vss2svn!