views:

2939

answers:

13

I'm considering using SVN for my .net projects, and I'd like to know what plugins are available for integrating the source control capabilities directly into the IDE.

I already know about :

  1. Visual SVN, which seems great but is not free. Is anyone using it?

  2. AnkhSVN, which is free but I've heard it's a bit buggy. Is anyone using it? are you experiencing problems? Edit: The 2.0 version is a complete rewrite and seems to solve the problem I've heard about (which were related to the 1.x versions)

  3. Edit : TortoiseSVN + Mindscape's FileExplorer VS Extension, which is not a real IDE integration but somewhat eases the use of TortoiseSVN from Visual studio

Edit : I've found a few comparison posts between AnkhSVN and VisualSVN here, here and here.

+13  A: 

I've used AnkhSVN for the past year and I've never had a problem with it. I switch between that and TFS and some of the times I think I prefer AnkhSVN to TFS.

thaBadDawg
I had used early versions of AnkhSVN and they were buggy as hell. I moved on to TortoiseSVN and am happy with that now. I cannot opine on the current status of AnkhSVN.
Ashwin
AnkhSvn was useless for a year or two. Any version released after 2009 is perfectly fine.
MGOwen
+11  A: 

I use VisualSVN and it works great, but you're correct, it's not free. No experience with Ankh here.

VisualSVN is worth every penny.
John Sheehan
+3  A: 

I tried AnkhSVN, but didn't like it. It tried to do too many things automatically and behind the scenes (e.g. adding files to SVN). I prefer if I see exactly what happens.

Now I mainly use TortoiseSVN (outside Visual Studio) or sometimes Mindscape VS FileExplorer in Visual Studio (which is available for free).

Note: VS FileExplorer plugin simply displays a file explorer in VS and allows you to invoke TortoiseSVN from there (and it also displays the TortoiseSVN overlay icons).

Update:

I reinstalled the current version of AnkhSVN 2.0.5250 and tried to reproduce the problems described above in a sample solution.

Result: AnkhSVN did exactly what I expected. I was not able to reproduce any of the problems. I think it might be time to give AnkhSVN another try at work!

Update 2:

I have now used AnkhSVN for some days, and I have to say it works very well. It's a big improvement compared to the previous version (1.x).

M4N
why didn't you like ANkhSVN? Have you experienced specific problems/missing features/bugs ?
Brann
@Brann: I added some more info to my answer.
M4N
Thanks. I didn't know about the FileExplorer plugin. It definitely eases the use of Tortoise SVN from the IDE, but I still prefer to have a real IDE integration.
Brann
I didn't know about VS FileExplorer either but it sounds good would address the concerns in my answer, +1 from me!
David A Gibson
AnkhSVN 2.0 never automatically adds files to subversion. It just makes it very easy to add them when you want to commit.Just look at the file status: New (blue; unadded but in your project) and Added (yellow; manually added to subversion)
Bert Huijben
When you check a new file when committing it is added right before the commit. (If you don't check the file it is left unversioned). If you want to add files earlier you can do that via the add and appy-to-working-copy commands.
Bert Huijben
@Bert: I'm pretty sure that it did add some files automatically. I can't remember exactly what kind of files, but I think it was either DLLs in a website's bin folder (I only wanted the .refresh files under version control) or some generated files in the bin folder (PDB, XML). I can check again.
M4N
@Martin: AnkhSVN 1.X did automatically add files (and I hated that :))... We removed that behavior in 2.0. Now we show you which files should be added (blue '+') and we make it very easy to add these files when you are committing.
Bert Huijben
Same as you: had issues with Ankh, didn't think it was much value, and have just used Tortoise outside VS and have been happy with that. May give Ankh another go though now, thanks Martin!
MikeW
I'm still using Ankh (a recent daily build). I works as expected.
M4N
+3  A: 

I use AnkhSVN and haven't had any issues worth complaining about. Sometimes (about 1 in 10 times?) I do get a strange nondescript error trying to commit, but restarting VS has always fixed the problem.

Edit: The error actually seems to be coming from the dataset designer, not AnkhSVN. Sometimes I get an error where it tries to "read or write to protected memory", which then just continues until I restart VS. Sorry for the confusion.

lc
That is a major refutation for AnkhSVN. To restart Visual Studio a couple of times a day (yes, we commit a lot) is out of the question when working with bug Solutions (>5 projects with each >2.500 files). I must lean on my work environment and we don't have such breakdowns with VisualSVN.
Anheledir
Good point. I just edited this answer though as I don't think the error was related to AnkhSVN after all. I've just hit a point where I'm using the dataset designer less, and I haven't had issues.
lc
+4  A: 

I also use AnkhSVN and it does work OK but I tend to drop to the file system to work with TortoiseSVN. For some reason I feel safer using Tortoise. I think that come's from concerns about Visual Studio than it is AnkhSsvn.

David A Gibson
I always create repositories and branches using tortoise, and commit/update/etc within VS using Ankh.
MGOwen
+8  A: 

Early versions (1.X) of AnkhSVN were pretty unstable. Latest builds (v2.0.x) work as a native VisualStudio source control provider and it's very stable. I would recommend you to just download and try it yourself.

aku
For the record, this goes for VisualSVN as well. Early versions were extremely buggy, but the product cleared up completely and today it's pretty stable. This might be an indicator for the quality of development.
But then, what are the advantages of Visual over Ankh?
Dmitri Nesteruk
+2  A: 

Another vote for visual SVN. To be honest, I think its just me being lazy. I could do everything visual svn does with just using tortoise, but it saves me from switching between programs. The color coded warning lights you get with visual svn are nice, but not that big a deal.

Sam Cogan
+2  A: 

I use VisualSvn and it's fine. It wasn't expensive and it helps make sure you include all files you've added to the solution. It's not so good when using locking in svn (but then svn isn't great at locking files). If you want to edit a file that has needs-lock set, it will automatically update it when you lock it (sensible), but that could end up doing an update when you dont want it too.

I've got into trying Svn Monitor too and am happy with that, but it does seem to grind my computer to a halt.

I've tried old versions of ANKH but got in a mess and corrupted the svn repository (I suspect that was version 1.x) so I'd guess later versions are better.

gbanfill
+3  A: 

Call me crazy, but this solution seems pretty clean to me: http://blog.programmerslog.com/?p=4.

Garry Bodsworth has put forth Visual Studio settings that make use of TortoiseSVN. Basically, instead of adding the external tool customizations by hand, importing these settings does it all for you: Subversion toolbar, Subversion menu, and context menu commands.

I would think that this would be a more simple solution than installing either AnkhSVN or VisualSVN.

+1  A: 

I use VisualSVN, and love it. It may not be free but I found it extremely reliable, very well integrated, and very much worth the $49 per license. By setting up a few key-bindings comitting and updating become almost second-nature to my entire team (most of whom had no previous SVN/SCC experience).

Being able to quickly scan the solution explorer to see which files had changed was very useful for keeping tabs on things for writing status reports and the like (but that's probably specific to my overly beurocratic manager).

The "Checkout Solution from SVN" feature was great for quickly getting the summer student interns setup and giving them a gentle introduction to version control. Again, this is probably specific to our needs so may not be of interest to you.

So a thumbs-up for VisualSVN and the convenience it gives us.

Chris
+1  A: 

My experience with working with AnkhSVN is better than tortoise but it still has a lot of flaws that you really don't get with native Visual Studio plugins like Source Safe, TFS, Dynamic soft. It has real problems with the .svn folders and synchronising so you end up spending a portion of your time removing the .svn folder and starting again.

That's my experience. One example is moving a folder from one project (in the same solution) to another project. It breaks on this from the working set being different. The solution is to go into the folder and remove the .svn files but it seems like a a lot of effort.

I'm use to it being a mirror of my filesystem though, and basic 2 developer branches of files.

Chris S
Which AnkhSVN version did you try this on? (And if you remember between what project types that would be even better)
Bert Huijben
+2  A: 

I have used both AnkhSVN and VisualSVN each for about 6 months. I prefer VisualSVN for one reason alone: Compatibility.

At my work, we keep our Subversion server and TortoiseSVN software very up-to-date (some people just go with one version and stick with it for years, but that's not our style). With new versions sometimes comes new working copy formats and it seems that AnkhSVN is very slow to adapt these new formats. What happens at this point is AnkhSVN completely breaks:

  • All the source files appear as "Added" even though they are all committed.
  • We are no longer able to Commit. An error appears claiming it does not recognize the new format.

VisualSVN has been "on the ball" in this respect as we have never had any compatibility issues with their software. This factor alone easily swayed me toward VisualSVN.

James Jones
+2  A: 

The Agent SVN plug-in does a good job of integrating Subversion and Visual Studio, but it too is not free.

Blake7