开发者

Source control in Visual Studio 2010?

After doing some search on SO, Google and MSDN forums I've become frustrated that there is so little information for what might seem like an obvious question and possibly a dumb question.

I need to use source control in Visual Studio 2010 Professional. I do not have separate Team Foundation Server 2010. Some people have mentioned SourceSafe? I haven't seen any SourceSafe inside of the Visual Studio 2010 to be honest.

What are some alternatives (preferably free) for source control in Visual Studio 2010? Or is it already integrated in Visual Studio 2010 that I am so blind to have missed that?

Update #1: Thank you everyone, I will go with SVN, in particular AnkhSVN for Visual Studio 2010.

Update 3/23/2011: It's been almost a year since I have asked this question. I highly recommend using either Mercurial or Git over Subversion. So for those of you who are looking for Visual Studio 2010 version control system, look no further than Git or Mercurial extensions from the Visual Studio Extension Library.

Update 5/16/2013: I would now strongly encourage you to use Git over Mercurial, TFS or SVN. Take a look at CodeSchool's Try GitHub in the browser to see how awesome it is!

  • Getting Started with Git on Visual Studio 2012 - in-depth tutorial by Andy Lewis.

  • Visual Studio Tools for Git - An extension for Team 开发者_开发问答Explorer to provide source control integration for Git. Enables integration with local Git repositories and provides tools to work with remote repositories.

Source control in Visual Studio 2010?


See: List of Source Control Systems with Visual Studio Plugins


Visual Studio is just an IDE. You can use any source control solution that you want with it. Any open source source control solution in particular, like git, mercurial (hg) or subversion (svn). And there are commercial products like Perforce or SourceGear Vault. See here for a pretty exhaustive list and google for more information.

You can find Visual Studio plugins that integrate it with any source control. Of open source ones subversion is especially rich in this regard. Commercial ones usually come with this integration.

And if you are not using source control that requires you to explicitly check-out files to edit them (like VSS or TFS do), the IDE integration is not even essential. I personally prefer to use git or subversion from outside the IDE.


And please, stay as far from Visual SourceSafe as you can.


I am using Ankh SVN together with Subversion on the server side and it works fine for me. Mercurial and Git are more popular than SVN lately though and there is also Visual HG, a Mercurial plugin for visual Studio.

Edit: Meanwhile I switched to Mercurial (Tortoise HG plus Visual HG) and never looked back. It takes a few hours of getting used to Mercurial if you are coming from Subversion, but after that it really is a breeze. Even if you do not need a distributed CVS, Mercurial still has lots of nice features that are not available in Tortoise SVN. Plus, it does seem quite a bit more stable, especially with regards to branching.


Let me add one more option to the list of SCMs integrated with Visual Studio 2010: Plastic SCM. You can check how it looks like here.

There's a Community Edition available.


As @Tomek suggested use Subversion.

Check out this post, which will help you to use subversion and AnkhSVN(VS plugin) with VS2010

Visual Studio 2010, subversion with AnkhSVN


I have use Subversion and Mecurial on projects and both made me recall fondly working with the much hated (for good reason) Visual Source Safe. Both will "work", but both show their unix-programmer roots (no pun intended) with cryptic error messages and goofy, black magic nerdisms. Source control should be simple, reliable and stay out the way. Neither SNV nor Mecurial qualify. Mecurial is easier to use if nothing goes wrong -- which is about 80% of the time.

If you are a single developer working alone, I would use Mercurial.

Here is a sample of why I hate these:

pushing to Z:\Repos\SupplierAdminWebRepo searching for changes new remote heads on branch 'default' [Error: abort: push creates new remote head 9cfbad6249a9!] new remote head 9cfbad6249a9 [Error: (did you forget to merge? use push -f to force)]

[Operation completed. Exit code: 255]

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜