views:

786

answers:

13

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)?

+10  A: 

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.

Joseph
In my team we've recently switched from VSS to SVN AnkhSVN + TortoiseSVN and I couldn't agree more that it's a LOT better than VSS.
Fermin
+2  A: 

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.

Michaël Larouche
A: 

Go for it - Tortoisesvn is part of the deal, and helps a lot with versioning tasks outside the IDE. Anything is better than SourceSafe.

gimel
A: 

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.

Will
+2  A: 

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.

Russell Troywest
Just realised you didn't mention any languages/IDEs so the VS IDE plugin might not be of any use to you. For those thinking of doing this who are using Visual Studio though, it's a great tool.
Russell Troywest
How long ago was it when you tried AnkhSvn? Thanks!
Actually, he mentioned Visual Studio ;)
OregonGhost
Originally I did not, but I seen I an edit question (which is awesome!), so I did and included it.
I tried Ankh about 6 months to a year ago I think. Everyone else was using the VisualSVN plugin but I thought I'd see if I could save the department some money and use Ankh. It was a mistake. I'm sure Ankh is a great tool but I just found that using the VisualSVN plugin for Visual Studio was much better. You still need TortoiseSVN as the plugin uses it. I couldn't live without SVN, TortuiseSVN, the VisualSVN plugin and TeamCity now. TeamCity is especially handy for making sure your code is in a good state.
Russell Troywest
A lot of positive changes have been made to Ankh between July 2008 and July 2009
Sander Rijken
A: 

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.

Mark Struzinski
+2  A: 

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.

madman1969
+7  A: 

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.

Joel Coehoorn
Wow, that is definitely a heads up! Is it possible for SVN to have the same locking mechanism as VSS?
SVN can do locks, but not in quite the same way and it's not the default behavior. SVN won't just overwrite the first devs changes with 2nd. Rather, a merge will need to take place. Not locking is the more accepted way to do source control, so it's really something you should just get used to.
Joel Coehoorn
You can lock files if you want but you wont. SVN is a whole new paradigm. The idea is that you make whatever changes you like and then commit them. If someone else has made changes that conflict you can't commit your changes until you have merged the 2 change sets. Sounds complicated but it isn't.
Russell Troywest
I found ANKH gets in a lot of trouble when you move files and folders around the tree, and had issues with checkins. Using Tortoise/Visual SVN solved most of them
Chris S
You can set the root folder in File -> Subversion -> Change Source Control. This will fix that it tries to checkout the entire repository. This setting is stored as a property on the solution, so after you change and commit this, it'll be fixed for future checkouts.
Sander Rijken
A: 

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.

rally25rs
Thanks. We will all be using the same exact software/plugins, down to the version.
The change in the project and solution files is optional; see the AnkhSVN faq. (And only a marking in a project file without a real SCC provider gives you a warning).
Bert Huijben
Thanks Bert, I didnt realize that there was an option to change that. That helps!
rally25rs
+2  A: 
nmiranda
+2  A: 

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:

Basics Training Guide

Good Background Information

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).

Joe Stropich
+1  A: 

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.

ProKiner
We all used TortoiseSVN to begin with before using the VisualSVN plugin. I agree it's probably a good idea to start with TortoiseSVN so that you have a better understanding of what is going on behind the scenes but once you know what's going on the plugin really is handy. I still use TortoiseSVN to do anything even vaguely complicated like merging/branching.
Russell Troywest
+1  A: 

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.

Unsliced