Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
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 Visual Studio IDE.
I already know about the following Visual Studio extensions:
VisualSVN, which seems great but is not free. It is implemented as a low-level VS package extension. Is anyone using it?
AnkhSVN, which is free but I've heard it's a bit buggy. It is implemented as a VS add-in extension. 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)
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.
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.
I use VisualSVN and it works great, but you're correct, it's not free. No experience with Ankh here.
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.
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.
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).
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.
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.
The Agent SVN plug-in does a good job of integrating Subversion and Visual Studio, but it too is not free.
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.
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.
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.
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.
The AnkhSVN plug-in is not too bad.
I use vsTortoise.
It works very nice especially when you are familiar with TortoiseSVN and it's free.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I use Microsoft Visual SourceSafe for version control. I would like to change this approach and use newer software for this work. What are the differences between these three applications? Which one is better?
Are these solutions integrated with visual studio?
TFS is an Application Life-cycle Management solution, SVN and Git are source control only.
TFS does source control as well as issue tracking, document management, reporting, continuous integration, virtual labs for testing etc.
TFS's Source Control & SVN are centralized source control, Git is distributed.
There have been many discussion on Stackoverflow about TFS vs SVN.
TFS is the most tightly integrated into Visual Studio.
SVN has a few third party options for integrating into Visual Studio and they are quite nice, but not as tightly integrated as TFS.
Git has GitExtensions which allows for a low level of integration within Visual Studio.
Better is a big discussion, but along the same lines you have to factor in cost.
SVN is free, where as TFS isn't. However; if you have your Visual Studio through an MSDN subscription and this is of high enough level, then you will get TFS2010 for free through your MSDN subscription downloads when released. This may be a factor which tips the balance.
As for the integration with Visual Studio, you can't beat Team Explorer for TFS. However, I have used Anhk with SVN and that works well too. I think the rest of this has been said :-)
Hope this helps.
The question is rather old, however in case someone stumbles on it: since January 2013, git has been integrated into TFS (announcement: http://www.visualstudio.com/en-us/news/2013-jan-30-vso#git support). What it means is that the team can now use git as the source control tool (instead of, but not alongside, the "built-in" TFS version control system) while still using the rest of TFS for activities such as continuous integration, issues tracking, and so on.
Original discussion on MSDN: http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx
StackOverflow has a large set of relevant discussions (https://stackoverflow.com/search?q=tfs+git), cannot point to anything specific.
I can only speak to Visual Studio integration for SVN. I've used both VisualSVN and AnkhSVN. They both have pretty tight integration and allow you to perform various operations from the Solution Explorer menu the way you would have normally done it with VSS. Version 2+ of Ankh (one I currently use) has been very stable for me and worlds better than the older versions.
This looks like a fairly detailed discussion of using Git with Visual Studio.
This is in addition to the other answers, not a full answer as Michael Shimmins satisfied most of what I would say
TFS (especially 2010) is incredibly approachable for implementing source control techniques that you would have been terribly hard-pressed to execute with VSS. Branching and merging is much easier with TFS than SVN to start and follow over time. I would say the same thing about Git from an user interaction perspective, but those tools are getting better slowly.
Git is a great tool if you spend the ramp up time and the techniques that community take as standard practice are well worth the effort in any version control system. You're still going to run into conflicts with SLN and CSProj/VBProj files in teams of > 2. This is a result of the way those files are structured and managed.
Is it safe to use the beta versions of Visual Studio?
By safe I mean, while developing any project in this studio, is it probable that it may cause some losses to my project? Or any other kind of risk?
Should I just use the studio 2008 and
wait for the stable version of Studio
2010?
Purpose of the question: I am doing my graduation project in .NET framework (includes - C#, WPF etc.).So I don't want to put my project at any risk because of some issue regarding (beta) visual studio.Hence the question.
As long as you are using a version control system, there should be no problem. Simply check out your project (or better yet, create a vs2010 branch) to an experimental folder and work from there.
There are no hidden risks when you use version control appropriately.
Visual Studio 2010 will convert your project files to its new format, meaning you'll have trouble if you want to go back to VS2008 later. I'd suggest holding off for now unless you can find a way to keep both old and new versions of the project files up to date.
There's always a risk in using beta software (but then again, there's always a risk in using any software). The whole reason it's called beta is because the company is not confident that it's got all the bugs worked out. Otherwise, it would have been released so they could start raking in the moola.
There are quite a few ways to mitigate the possibility of any beta software (not limited to VS2010 or even any programming-related product) from causing you trouble. Choose any from this list, which is by no means exhaustive:
Don't use it on the same data (be it accounting information or source code) until you've run it in parallel and gotten the same results as with the older version.
Plan a backout strategy if the software is so bad that it's easier to go back than to try and go forward.
Backup your data even more frequently during the periods where you're using the beta software, up until the point that you're comfortable with it and can revert to a more normal backup strategy.
Don't use beta software at all - wait for the real release (or SP1 if you want to be even safer). There may not be a driving force behind updating to the latest version.
As a company, limit your exposure to the beta software to a small set of your employees. So, for example, if you have six different teams, choose the least important as a sacrificial lamb, so to speak.
My own personal preference is to wait until everyone else has sorted out the problems first. I didn't upgrade to the latest Ubuntu while it was in beta (I still got burnt a little bit with the video and X but that particular problem already had a solution on the net). I don't download the latest and greatest Eclipse until it's been in use for a few months. I'm still using VS2008 under Windows XP since there's nothing I think I need in the latest release (of VS or Windows).
We obviously have the latest and greatest OS' in our test environments but they're crash-and-burn environments that won't cause any real pain if they blow up (other than a rebuild but even that's pretty painless nowadays).
For your particular circumstance, I would probably stick with a tried and true version. You don't seem to have a pressing need for any of the new features in your question and the sort of failure you're talking about is not just losing some information at work which, while annoying, is probably backed up to the point where your career would survive.
A similar loss of your educational work would affect you for a long time if you fail your subject because of it. I would probably just concentrate on getting it finished rather than worrying about what VS2010 beta might do to my work. Don't misunderstand me, you should still be protecting your work even with VS2008 but I'd personally feel safer with that option.
Then, if you have some spare time at the end of your project (hah! as if that would happen!), you could try to convert what you've done so far to VS2010. If it all goes pear-shaped, you still have all the VS2008 stuff available.
There is certainly risk in using unproven software in that it could behave unexpectedly. Some of the answers here focus on protecting your source code and that is a valid concern, but you should also consider other risks.
Could Visual Studio 2010 make your system unstable? Having your source code in a local instance of source control won't do you much good if Visual Studio corrupts your hard drive. Even if you backed up regularly, you'd still be out a good day or two (MINIMUM) rebuilding your desktop.
Also, what do you intend to do with the finished product? Will a professor attempt to open the project on their own desktop? Are you expected to deploy it to another environment? We see these "Works on my computer" problems using proven software, a beta certainly increases the probability of running into this type of problem.
So yes, there is certainly increased risk in using a beta. You can take steps to mitigate the risks but with important work those are steps you should be taking anyway. Is the benefit of using Visual Studio 2010 worth the increased probability of delays / data loss / grade impact?
I know I'm experimenting with VS2010 and I haven't seen severe problems but betas are not proven/guaranteed - the overall risk is probably slight but it is a risk nonetheless.
I guess I would approach the question differently...Is there any real value in using VS 2010 over 2008? I have been using both for a while and I would say, No.
I have had some mysterious crashes with VS 2010 and the application has disappeared on me, causing me to lose any unsaved data.
If you are integrating IronPython / Ruby or working with Office or VB style COM, there is more support for this in .NET 4.0. Beyond that, most of the changes add some shine to the IDE, but not much real value.
my 2 cents.
The biggest risks you will face are crashes, random tool window misplacements, and occasionally Visual Studio will refuse to start and you will have to reset all your settings to have it working again. 1 (I am anyway reasonably happy with Visual Studio 2010 and don't regret having installed it; in my case the compelling reasons were unit testing and visual designer for Silverlight)
But as ocdecio says, there should not be danger for your code, especially if you use a source control system.
As an additional advise, target your projects to .NET Framework 3.5. Using a beta development tool may be ok, using a beta .NET Framework in a production environment is usually not.
1 This crash is supposed to be caused by using raster fonts for the code editor, but it has happened to me without using this type of fonts.
Given that you've said the project will be "tested on another system", the answer is simple: use VS2008. VS2010 solutions cannot be opened by earlier versions, and I wouldn't bet my graduation project on whether or not someone else has VS2010 installed.
Other reasons to stick with VS2008:
VS2010 probably doesn't gain you much.
There are bugs, and I'd rather be working on getting my graduation project done rather than working around problems with my development tool.
If you need help along the way, those that can potentially help probably aren't using the same version. That may make a difference, it may not.
Another thing to consider.. usually the EULA prohibits you from deploying and/or shipping a product using a Beta version of the toolset. I'm not sure this applies in your situation but it's a point to consider.
Another potential issue I've heard of is that sometimes Visual Studio betas refuse to uninstall when it comes time to put in the RTM version. So as long as you don't mind reinstalling Windows when you're ready to install RTM and you've taken the other answers into consideration, then go ahead.
Since your project is for a graduation project and not for full production release, I would say use the latest/stable version of Visual Studio 2010.
You will gain more than you will lose as you will be using the latest technology which will be more useful going forward.
There is an issue for touch screen machines which may render WPF applications unusable.
A workaround exists. See details:
‘MS.Win32.Penimc.UnsafeNativeMethods’ Threw An Exception
fix: C:\Windows\Microsoft.NET\Framework\v3.0\WPF>regsvr32 PenIMC.dll
The biggest problem I have with VS2010 Beta 2 is designer. The Windows Form Designer generates buggy code (Microsoft Connect bug id 507267 and 499925). So I have to edit the form in older version of Visual Studio
I have a few other problems not related to code lose, like random crashing and wizard disappearing.
I've just spent two weeks in VS 2010 beta 2 doing some serious prototyping work. It all went pretty smoothly, and I really like VS 2010. At the end, I moved all the code back to VS 2005 and integrated it with my current project. My experience:
Moving the code back to 2005 was pretty easy. I did try not to use any C# features from 2008 or 2010. The only thing I missed was C#'s implicit properties, but those are easily fixed.
Yes, the project and solution files are not backward compatible. To migrate back, I just created new projects in 2005, and pasted the source files in through Visual Studio. Worked like a charm.
I did find one thing that would consistently crash 2010. If you use the splitter to view two different sections of a file at once, and cut-and-paste from one pane to the other, VS 2010 will roll over and die pretty quickly (not necessarily at the time of the cut-and-paste, but very soon afterwards).
There are some nice productivity features in 2010. You can drag a tab out and make it a window. In Windows 7, you can drag it to the top of the screen to maximize, or to the side to use have the screen. Dragging one file to one side of the screen, and another file to the other side, means you get the whole screen to edit two files, side by side. Very nice. (Even better on two monitors, but I was on a laptop.) The "Quick Find" dialog can now be docked -- that's a huge improvement.
As others have mentioned, use source control, but VS 2010 really is not unstable enough to be any more of an issue than VS 2008. Note that Team Foundation Server 2010 is also available in beta, and will be part of all MSDN subscriptions. It installs under Win7 and Vista. I'm using it for source control on my laptop! Team Explorer is integrated into VS 2010.
Is there a fairly inexpensive source control product on the market that integrates into Visual Studio 2008+ and that has the power and capabilities of Visual Studio 2008 Team Foundation Server?
I have used Dynamsoft, SourceGear, Subversion and Platic SCM and reckon that neither of these products can come close to Team Foundation Server.
Ideally I would be interested in a product that:
handles conflict resolution well
handles IDE edits, renames and deletes automatically
easy project management within the source control "server" that allows a project administrator to painlessly manipulate the project structure as they see fit.
Subversion with Tortoise SVN
Here is an article by Rick Strahl on setting everything up.
I used svn at my last job, and tfs at my current one. I can't say I really like having to deal with tfs on a day to day basis.
SubVersion and AnkhSVN will integrate directly into Visual Studio.
Visual SVN is a tool to integrate SVN directly with Visual Studio.
(source: visualsvn.com)
It costs $49 per license.
They have a demo so you can see if it what you are looking for.
Actually, I've recently started using Team Foundation at work. Some of it is nice, but our team has spent at least 10 hours in total last week to fix silly TFS problems that never should have occurred in the first place.
While it isn't perfect, I find Subversion superior in many ways when it comes to plain source control. Get TortoiseSVN and shell out 50 bucks for VisualSVN if you want an integrated solution.
Personally I much prefer SourceGear Vault to SVN.
But it's hard to argue with free, and Vault is pretty expensive if you have more than 2 users.
Try visualsvn.
EDIT
Use VisualSvn as server (my bad, should have clarified I meant that), and as for the client, I used AnkhSVN, which got quite good over time.
From what I hear, VisualHg is a good Visual Studio addin for the Mercurial distributed source-control system. You just need to install TortoiseHg and then VisualHg, and you'll be up and running.
Well, you could use SVN in conjunction with bug tracking solutions such as Trac. There is a Trac Visual Studio plugin. There is also Redmine, though I don't know about its VS plugins.
If all you do is to "view, compare, attach changesets to work items and annotate", I guess bug tracking solutions are quite good.
What features of Team Foundation in particular are you interested in?
If you're just interested in Source Code Control, there are many plugins available for various other products. Subversion for instance has several plugins available which give a very similar experience to the Team Foundation plugin. AnkSVN is my personal favorite.
http://help.collab.net/topic/com.collabnet.anksvn.doc/concepts/ankh_whatis.html
We're going with Git but it probably doesn't have the integration with VS2008 you'd want.
Git manual: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
Mike,
If you are just looking for source control, the answer is yes.
If you are looking for an inexpensive replacement for everything that TFS does (build, test, project management, etc.) the answer is heck, no.
Putting aside the fact that one is open-source, which tool is more feature rich and performant for SVN support within Visual Studio.
I've recently switched back to Ankhsvn (2.0) from VisualSVN. Prior to VisualSVN I was using Ankhsvn (1.0).
I prefer AnkhSVN 2.0 because it integrates with Visual Studio as a source control module, rather than an add-in and as a result it feels more like using Visual SourceSafe (which I am forced to use at my 9 to 5). Basically it integrates with Visual Studio the way Microsoft intended source control to integrate with Visual Studio.
For me it simplifies going back and forth between Visual SourceSafe and Subversion since they both behave essentially the same way.
I like AnkhSVN mostly because it is free. BUT, I love the VisualSVN server.
I didn't like either one. Using the shell/tortoise was preferable for me.
I paid for VisualSVN, its just worth it, even though I usually side with free (and even inferior) software. And by separating concerns by handing the actual SVN stuff to TortoisSVN, you get the best of both worlds.
Ultimately its down to how you work, and what you're used to, and since I was already using to TortoiseSVN, VisualSVN was a no-brainer.
I like the way that VisualSVN keeps you closer to tortoise. I also like its diff tools better.
I'm not sure if they changed it, but Ankh did not allow renaming of files in VS when I last used it. That was a pretty big pain for me as I have refactoritis and generally suck at naming files really well the first time.
VisualSVN for me. I've found it to be much more stable than Ankh.
+1 to VisualSVN because: a) it delegates most of the work to TortoseSVN, and b) it handles all move/rename shenanigans I throw at it from the Solution Explorer.
I'm begining the development of a personal Web Application project. I'd like to have a source control system for that project.
At work, we user Team Foundation Server and I'm quite happy with that, mostly for the Visual Studio integration.
I'd like to know if there was free source control solutions that had the same kind of integration with VS2008.
I just started using Subversion actually, all I did was go to their website and download the server (took like 10 mins to install and setup). The installer asks you where you want your code repository to be and then it sets up the server completely. The only thing I had to do was put in a password file. I installed ankhsvn (which is an SVN client that integrates into Visual Studio) and it worked perfectly, without a hitch. Exactly how you'd expect. It's very little work overall.
subversion, mercurial
I think you have two options, really:
Subversion. It's easy to setup etc, and free. I like VisualSVN, which is $50, and worth atleast 5x that much, but you can use Ankh (free, OSS) or just use tortose (windows explorer plugin, OSS, free).
Once you have tortoseSVN (VisualSVN needs it too) you can make local repo's, or use a remote one, eg VisualSVNServer (also free), or personally, I have mine hosted with my websites at dreamhost :)
Another option is SourceGear Vault. It's GREAT if you have a windows-based server somewhere (it's SQL 200x + ASP.NET based, including SQL Express Edition I think), and it's free for one user. Very good if you are used to SourceSafe or TFS, and it can work in the SVN/CVS checkout-merge-commit way if you want to (not the default, but easy to change), or just use the check out - lock - check in way like VSS.
You might have heard Eric Sink of SourceGear on the Stack OVerflow podcast the other week - same company.
50 Bucks gets you all the subversion control you could need.
EDIT: And in the long run...50 bucks is as good as free...
I found Subversion very easy to install. AnkhSVN integrates into the Visual Studio IDE nicely and makes sure you don't forget to add new files created in the IDE to SVN. However, AnkhSVN also seems to have it's periodic hiccups.
TortoiseSVN seemed more stable when I used it, plus it has some advanced features (like a nice conflict editor) that Ankh is still lacking. That's why I use both Ankh and SVN for the best of both worlds.
visualsvn + ankhsvn works great for me
I have had good experiences with TortoiseSVN although it does not integrate directly into Visual Studio. It is free and integrates into Windows quite well.
If you want a solution that has more integration I would recommend Vault from SourceGear. It is free for individual users and is easy to setup. It has more features than SVN and direct access from within VS.
Subversion is good, but not that easy to install (since it requires Apatche). Take a look at Vault very simple to install, and works very well with Visual Studio. It's also free for single developer.