Q:

Using Subversion with Visual Basic 6

My team is moving from Visual SourceSafe to Subversion soon, while developing/supporting a legacy project in Visual Basic 6.0, so I have a couple of questions:

What's the best tool for Subversion IDE integration in Visual Studio 6? (or is it not worth the trouble...)
Are there any best practices for using Subversion with Visual Basic 6.0? (file types to ignore, etc.)

A:

I would agree that Tortoise SVN in Windows Explorer would be the best way to use SVN with VB6.
The biggest change you will find migrating to SVN is the idea of "Check out" and "Check in" aren't exactly the same as "Update" and "Commit". . . thus, any IDE integration with VB6 is limited because VB6 supports MSSCCI, a check-out/check-in mechanism.  I once used TamTam SVN (http://www.daveswebsite.com/software/tamtamsvn/index.shtml) with Visual Studio 2003, but stopped since I found it limiting.  Merging/branching/blaming, etc. are very powerful features Tortoise SVN provides that weren't in TamTam. Tigris also has http://svnvb6.tigris.org/, but I have not tried it.
Again, while you quite possibly get an IDE to work with VB6, I would not recommend it since the greatest strength of migrating to SVN is to break the Source Safe philosophy of check-in/check-out.

A:

Since Subversion uses an update/edit/commit cycle (rather than checkin/checkout), you will need to be especially careful with binary files.  Most forms in VB6 consist of two files: MyForm.frm and MyForm.frx.  The *.frx files are binary, and thus cannot be merged.
Given that, I would set up Subversion to require "locking" on .frx files.  This means that only one person can check the file out at a time.  By doing so, you will enforce that only one developer can modify these files at a time, and it is always clear who that person currently is.  If you don't do this, you are setting yourself up for some major headaches.

A:

Depending how much you're planning to do on these legacy projects I would consider not switching.

I would really advise you to switch to SVN. I know of a few projects that lost source code because the VSS database became corrupted.
I think there are tools that perform the migration from SourceSafe to SVN. (Yes-- a quick Google search confirmed it.) That way you wouldn't be losing the revision history.

