We are planning on moving for MS Source Safe (ouch) to SVN. We are working mostly in a Microsoft environment (windows, Visual Studio, .NET) and we have developers in multiple sites. I heard about VisualSVN and integration with visual studio. On the other hand I can get someone to host SVN for me and use TortoiseSVN. Any recommendations? Any pitfalls I should avoid?
You can get hosting of secure svn repositories from a variety of sources: http://beanstalkapp.com/ and many others. Often free if the usage (users, data, etc.) is limited.
VisualSVN does integrate with Visual Studio but not like SourceSafe does (and I mean this in a good way). It requires TortoiseSVN so it's not not an either/or. VisualSVN and Tortoise is a great combination.
I heard about VisualSVN and integration with visual studio
Point to note, VisualSVN (the one that integrates with VStudio) is not a server technology at all, it is simply a integrated GUI front end to SVN, and in fact works through TortoiseSVN (which is required to be installed). However, VisualSVN is GREAT and defnitely worth the $50 per developer to use it. I used it daily and it saves me SO much time.
There is also VisualSVN Server, which will take care of the server side of things and the setup is absolutely dead simple. As long as you have an internet facing server and copious amounts of bandwidth (though SVN is not much of a bandwidth hog) you should be fine to host it yourself. Oh yeah, and VisualSVN Server is completely FREE!
However, having your repository hosted off-site is definitely always an option. I use dreamhost for this now and couldn't be happier.
Hosting subversion is fantastically simple. At the risk of being labeled a brown nose (is there a badge for that?) Jeff Atwood did put up an article on installing subersion
So really you could save yourself some money by running your own subversion server and you'll never have to worry about what happens to your code if your hosting company goes belly up.
I would start with tortoise because it is free and is really easy to use. If you find you really need integration with VS then by all means try out visual svn. In my experience source control <-> editor integration is most useful for automatically opening files when you edit them. Subversion doesn't require you to open files so that big advantage is gone.
Another SVN integration with Visual studio is AnkhSVN http://ankhsvn.open.collab.net/ It is free, and has a few quirks. Personally, I use it for basic diffing and the visual indicators for file status (changed, conflict, etc.) while I use Tortoise for the heavy lifting.