So you want to start using Source Control with all your projects. Great idea!
Here is a step by step howto for getting Subversion (Specifically VisualSVN 1.7.2) up and running on your computer.
Installing VisualSVN 1.7.2
Step 0: Obtain VisualSVN
You can find VisualSVN here: http://www.visualsvn.com/server/download/
Download it, and start the installer. There are screenshots for each step of the installer but really only two screens (Steps 3 and 6) have any options.
Step 1: Welcome Screen

Step 2: EULA

- Read the agrement (yeah right, like you are going to do that)
- Click the “I accept the terms” check box
- Click Next
Step 3: File Locations, Port, and Authentication Mode

- Your biggest choice on this page is whether you want to use http or https for communication with the svn server. You will also have to pick the authentication mode. I usually go with Subversion authentication. That way if you have a Continuous Integration Server that builds and version labels your code automatically (topics for future post) then you can simply create a user in VisualSVN instead of having to mess with Windows auth.
- Pick your settings and click Next
Step 4: Last Chance for changes

- If you are happy with your settings and not having second thoughts then go ahead and click Install
Step 5: Twiddle your thumbs

- This installation goes by pretty quick so just be patient and then you will arrive at:
Step 6: Installation Complete

- Hooray! you now have a place to keep all your source code all safe and sound. And you can also have a lot more confidence that you can make a change and not do so irrevocably.
Setting up your first Repository
Step 1: Pretty VisualSVN Server Manager

- Welcome to your Server Manager
Step 2: Add your first Repository

- Right Click [Create New Repository] or [New]->[Repository…]

- Enter your project name. Don’t name it “MyRepository” or “MyCode”. Some people recommend one repository per company, and some recommend one repository per project. I personally prefer the middle ground and group related projects together in the same repository. Basically anything that I would want to backup or restore as a group. We’ll refer to our example project as ProjectName.
- Unless you know what you are doing, and/or already have a repository structure in mind, I’d suggest checking the box and just going with the defaults. You end up with three folders: Trunk, Branches, and Tags.
- Trunk: This is where the main development version of your program will go
- Tags: This is where you will create a snapshot for particular versions of your code. i.e. V1 release, V1.1 release, etc… so you can come back at any time and have an exact match of your code to a customer thats having issues with a particular version.
- Branches: This is where you can make a copy of your main trunk and modify that copy without affecting the trunk. I’ll talk about branching in a later post.
- click OK and you have yourself a repository.
Step 3: Create a User

- Now you’ll want to make yourself a user account.
- Right Click Users
- Select [Create User…] or [New]->[User…]

- Give yourself a name
- Enter a Password
- Hit OK

- That’s it for creating a user.
Step 4: Security (Optional)
- Right Click your repository: ProjectName
- click [All Tasks]->[Manage Security…]
- Notice how “Everyone” already has Read / Write Permissions. This is what makes this step optional. You may want to add yourself though.
- Click [Add…]
- Select the user you want to add
- click OK
- That’s It… your user is now added with Read / Write Permissions to your repository. If you were concerned with having Everyone still in the group, you can delete it.
Success…
Hopefully you’ve made it to this point without any problems. You now have a subversion server up and running and ready to hold your code.
You can verify that it’s working by right clicking your repository and choosing [Copy URL to Clipboard] and pasting it into your browser
You’ll have to provide the credentials that you created earlier.
Now you should see your repository. There’s not much you can do with it from your browser. My next post will show you 2 more tools to work with your new repository. One plug-in for Visual Studio, and a plug-in for Windows Explorer.

Further Reading:
When I try to start VssMigrate I got the following error:
##### Building file list
System.InvalidCastException: Das COM-Objekt des Typs “SourceSafeTypeLib.VSSDatabaseClass” kann nicht in den Schnittstellentyp “SourceSafeTypeLib.IVSSDatabase” umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der Query
Interface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID “{2A0DE0EE-2E9F-11D0-9236-00AA00A1EB95}” aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0×8000
4002 (E_NOINTERFACE)).
bei SourceSafeTypeLib.VSSDatabaseClass.Open(String SrcSafeIni, String Username, String Password)
bei VssMigrate.Program.BuildFileList() in D:\projects\VssMigrate-0.1.0.0\src\Program.cs:Zeile 100.
bei VssMigrate.Program.Main(String[] argv) in D:\projects\VssMigrate-0.1.0.0\src\Program.cs:Zeile 56.
I’ve tried with Visual SourceSafe Version 6c (Build 9238) and Version 6d.
Any help would be most welcome.
Many thanks in advance!
Regards
Michael
SORRY! Wrong blog…