Tuesday 2 October 2007

Upgrading from Visual SourceSafe 6d to VSS 2005

We've recently just upgraded from Visual SourceSafe 6d to 2005. The process was (surprisingly) painless.

This is worth a read before you start: MSDN Visual SourceSafe Install Documentation

 Here's the steps I went through:

Server:

  • created a Virtual Machine (VM) running windows 2003 to host the VSS 2005 server. We decided to use a VM this time to host the service, thus aiding portability and backups/DR.
  • Connected to the VSS 2005 iso install image file as a mapped drive (via VMWare's excellent "CD Rom use iso image" option).
  • Installed VSS 2005 (I chose full install).
  • Got all developers to "check in" their code in the old 6d database.
  • Copied over the VSS 6d database files to the new VM (I used robocopy as I dislike explorer's "sorry I've had to stop copying EVERYTHING because one file was in use" etc...). Copying them across is OK because the file structures are compatible which makes migration easier.  TIP: allow plenty of time for the copy to take place if you have a large database.
  • Give relevant Windows user(s)/groups modify access to the database dir (ntfs permissions).
  • Opening up Visual SourceSafe, gives a prompt for database the location. Browse to the dir where you copied your database to. All done. VSS Users come across too with access rights.
  • I also then ran VSS analyze (you are prompted first time in) to pick up any corrupt or missing files in the database.

Client:

  • Uninstall VSS 6d via add/remove programs. (if you don't, I found that 2005 got installed separately and left 6d there too, despite what some documentation says).
  • Rebooted
  • Install VSS 2005 (choose custom and untick server components).

Initial impressions? Firstly, here's the relevant "what's new in VSS 2005":

  • Access via IIS (via web services). Mainly useful for off site working. Not tried it yet.
  • LAN booster service (Wow.. anything with "boost" in it I want!). Once enabled you will see a new service SSService.exe appear in service list. Its job... to compress files for transfer, check for newer files, handle chatting to client blah d bla bla. Note this only works with the Visual Studio (VS) plug in.
  • Improved VS Plug in. For example, to open a new project from source safe you now simply select File/open project/ and "Sourcesafe (LAN)" appears as an option in the dialog. Also, files are now retrieved asynchronously (background thread) so that annoying "lockup while fetching files" should be a thing of the past.

So far my feeling is that VS integration is better. File access seems quicker (but I doubt by the "3-5 times faster" quoted by Microsoft). Less VS hanging during "get latest" type activities and generally more responsive. Apart from that you are unlikely to notice any major changes.

What about VS 2003 Support?

For those lucky developers supporting .Net 1.1 projects, you still need trusty VS 2003 so it was a relief when I fired VS03 up and the VSS add in worked fine. I successfully fetched an ASP.Net 1.1 project, checked out some files and all seemed normal. Performance was back to VSS 6d standards though.

If I come across any issues I'll post them here.