We've had it with Microsoft Visual SourceSafe 6.0d and want to move to SubVersion. Our IDE is Visual Studio 2005, but we plan to ugprade to 2008 soon. We are considering to install VisualSVN server, and then use the AnkhSVN add-in for Visual Studio. VisualSVN server has a good reputation with the community, so I have plenty of faith in it. However, I have not heard much about AnkhSVN. We have a small team of developers, and do not need any fancy features other than what we have grown accustomed to with Visual SourceSafe. Has anybody out there in StackOverflowLand done the same thing I am doing? If so, would you recommend it (as opposed to upgrading to SourceSafe 2005)?
I've migrated from VSS to SVN using AnkhSVN coupled with TortoiseSVN. I haven't had any problems making the change. IMO it's a much better environment to be working in.
I've used both in team environments, and SVN on solo ventures. For solo ventures, SVN is definitely the way to go, it's much faster. In team environments I still favor SVN, although some people really like the check out features of VSS. I prefer the locking features SVN provides over the checking out.
I never used Visual SourceSafe, but I used Subversion a lot. AnkhSVN makes the syncronisation between the solution and the SVN much more painless than using TortoiseSVN or the command line.
So yeah, it works great.
Go for it - Tortoisesvn is part of the deal, and helps a lot with versioning tasks outside the IDE. Anything is better than SourceSafe.
VSS was okay when I used it, but its primitive features list and scary corruption issues I can deal without. SVN is a good source control. Just make sure you learn how to use it before you start. I'll say, tho, I'm not a fan of tortoise svn. It spreads itself out all over the file system and insists on running some processes in the background, which I don't prefer (you may not care). I think Ankh is sufficient for working against SVN; I had no issues (or none I can remember) with it when I was using it.
We moved to SVN using the VisualSVN server where I work about 2 years ago. Best thing we ever did. Visual SourceSafe is a pile of crap in comparison. I'd use the VisualSVN plugin though instead of Ankh. I found Ankh didn't always get things right and I'd sometimes not have files I'd added committed to SVN. The VS VisualSVN works like a dream. Never had a problem with it and it's well worth the money.
Set up continuous integration whilst you are at it (if you haven't already). Team City is the one we use and it integrates really easily with SVN.
We moved the VisualSVN Server a year ago from VSS. Best thing we ever did. With the low price of entry for VisualSVN, you might be better off making the purchase in case you ever need support. I've never had an issue with VisualSVN. We had the normal stuff crop up with TortoiseSVN (Cleanup/Update issues), but VisualSVN has worked like a charm.
Yes. I'm currently using your proposed combination of VisualSVN as the SVN repository server and AnkhSVN as a plug-in for Visual Studio 2008 Pro as my SCM for my home projects. I've found the combination to be very stable and, after correctly setting up the repository, a very intuitive setup which integrates well with VS2008.
As an added bonus you can also directly open a solution from an SVN repository, either from your local VisualSVN, or from external repositories such as Google Code.
I highly recommend this combination, and now wish I'd moved away from using TortoiseSVN earlier.
We use AnkhSVN here, and I'm very happy with it.
The only issue we have is that due to a poorly constructed repository it sometimes tries to update(checkout) and entire repository when you go to update just a solution from in VisualStudio.
Also, and this is important, as someone else who has spent time first in VSS and moved to SVN later, you should be aware the SVN does not normally lock files in the same way that source safe does. Rather than locking files so only one dev makes changes at a time, it allows multiple developers to work in the same file at the same time and will prompt developers to do a merge after the first one commits his changes. Just something to be ready for.
I've used both VisualSVN and AnkhSVN in a team environment. Personally I prefer VisualSVN.
One odd point with AnkhSVN is that it writes some records into the project files (i forget if it was the .csproj or the .sln file specifically), indicating that Ankh is managing the source control. Now if you are in a team environment and another person on the team doesn't have Ankh installed and opens the solution, it will display an error message saying the source control specified isn't found, do you want to remove it? If they choose "yes" then it removed the Ankh records from he files and then person A on the team will no longer be using Ankh.
Long story short, if you have >1 developer that is going to use it, make sure everyone uses, or doesn't use Ankh.
Other than that, I've had no real problems with either.
My company just switched over from VSS6 to SVN, AnkhSVN and Tortoise. After lots of research it was the way to go. So far it has been a much better experience. Sure it takes a little work to move over version controls but once that's done, it's done.
One thing to keep in mind, It's Free! If you have some utilities or a small project why not try it out with svn so you can see for yourself how AnkhSVN is. You can go by others recommendations but it's how you feel with the tool. This way you can test it before fully commiting.
Similar SO subjects:
SVN? VSS? Whis is one better than the other?
How do i convince my team to drop sourcesafe and move to SVN?
VSS of SVN for a .Net Project?
Things to read on Subversion:
And just a great quote:
“Visual SourceSafe? It would be safer to print out all your code, run it through a shredder, and set it on fire.” - (Attributed to an unidentified Microsoft employee).
We used Ankh for a while, but found that it really slowed down the loading of large solutions (20+ projects). In the end, using TortoiseSVN directly from the project folder and skipping the VS IDE integration was not only faster, but developers were forced to think about what they were committing to the repository. There was a small learning curve initially, but in the end, everyone now has a better understanding of how SVN works, which is invaluable in my opinion.
Update: I've been using the newer version of AnkhSVN, and it is vastly improved over the 1.x efforts. And, we've had quite a few new devs added to the team who were unfamiliar with SVN overall, and broken builds because of forgetting to Add a file to the repository have gone down significantly since they started using AnkhSVN, since it handles it automatically.
I use a combination of SmartSVN, with Ankh's integration into Visual Studio is a winner. They sit side-by-side very well.
VSS was awful, but being able to use it within the VS IDE was about its only plus point.