Subversion is a version control server. To use subversion you need a subversion client. There are many available, including a command line client, free gui clients and commercial clients.
When recommending subversion for source code control nearly everyone seems to recommed
TortoiseSVN as the client program. TortoiseSVN is a windows shell extension that allows subversion to be used via the Windows Explorer context menu. One thing I love about it is that it integrates effortlessly with IDEs/editors that use the windows shell as their file browser (such as e). Unfortunately, Visual Studio does not use the windows shell so you don't automatically get TortoiseSVN integration.
I have recently dumped TortoiseSVN for the following reasons:
- the interface is clunky. Everything seems to require more dialogs and clicks than it should.
- the synchronization with the windows shell is slow. When files are commited they often remain marked as modified for several minutes until the synchronization catches up.
- TortoiseSVN is resource intensive. Once again I think this may have to do with the shell integration. Both CPU and memory usage are relatively high.
An alternative to TortoiseSVN is
RapidSVN. RapidSVN is a more traditional GUI source control client. The downside of this is that you will usually need to have the RapidSVN gui open as well as your IDE when developing. What I like about RapidSVN is that it is less resource intensive and quick to use that TortoiseSVN. What I dont like about it is that it does not show the list of non-versioned files when commiting like TortoiseSVN does.
TortoiseSVN and RapidSVN are both fantastic free SVN clients. The purpose of this post is to address what I feel is an unjustified bias towards TortoiseSVN. When selecting a subversion client be sure to take a look at other alternatives, including TortoiseSVN.