|
When creating a new project on Google Code, you need to choose between Subversion and Mercurial as a version control system (VCS). There is no right answer to picking a VCS. Subversion and Mercurial are both easy to use, have a large community behind them, and are used by popular projects. They have demonstrated themselves fit for their purpose. It is therefore likely that your project will be productive regardless of your choice. Typically, most projects pick a VCS based on their team members' preference and the team's perceived workflow. SubversionSubversion is a well-known centralized VCS and, arguably, the most commonly used VCS for open source projects. - The largest benefit of using Subversion is that it's familiar to most developers, so they can start contributing to projects immediately without having to figure out a new VCS.
- Subversion can scale to support larger projects, but it works especially well for small/medium sized projects.
- Subversion also works well for teams where most software contributions are expected from other team members. Unlike distributed version control systems (DVCS), however, team members cannot make check-ins when they are offline.
MercurialMercurial, like Git and Bazaar, is a DVCS that enables developers to work offline and define more complex workflows such as peer-to-peer pushing/pulling of code. - Mercurial makes it easier for outside contributors to contribute to projects, as cloning and merging of remote repositories is very easy.
- Large projects with multiple developers and external contributors benefit the most from Mercurial because of the ease of branching and tagging. Smaller projects typically only experience the benefit of being able to work offline.
|
Why not git?
There's no reason not to choose git, except that you have to find your own hosting for it. You can of course still use the other features of Google Code for your project.
I've updated the wording slightly to make it more clear that this guide is specific to choosing a vcs hosted on Google Code, not the more general question.
Which one to choose? I don't have any experience with Mercurial ( or git for that matter ), but I find Bazaar easier to use than subversion.
The most logical choice seems to be Mercurial in my case ( I'm really wanna stick to Bazaar ) because Bazaar is more like Mercurial than is? to Subversion, but it seems like I won't be able to work with Mercurial trough Bazaar.
There is a plugin for Bazaar that allow one to read a Mercurial branch but not write to it ( http://bazaar-vcs.org/BzrForeignBranches/Mercurial ).
The wording "Mercurial, like Git and Bazaar..." made me confused ( maybe as I did just skim it fast ) to belive that Mercurial is the one to choose if I uses Bazaar.
It would be nice if you stated out that Bazaar can't be used together with Mercurial ( in the moment of writing ), or if I might be wrong and there is a way that you know of; add it instead.
Thanks.
Let me know which one is good for a .net project
please reply to my email.
@chandoosgroup: it doesnt matter if you use .net or php or java or anything else, svn is most commonly used VCS and it should meet anyone's demmand.
Note: Subversion is similar to CVS, but it overcome some of the shorcomings of CVS.
But the concept of a DVCS is the way to go, if you once tried it, then you never want to work without - so use the best of them, which are:
Mercurial, Git, Bazaar
As Bazaar is much slower then the other two, and Mercurial is the one who is a available I would choose Mercurial FOR EVERY PROJECT HERE.
I wonder, would any of the popularity of SVN be due to the combined facts, as follows? PS I understand, this is no wicked conspiracy, thanks....
1) SVN, as I understand it, runs by way of HTTP 2) HTTP-based SCCM systems would have an easy time operating across corporate firewalls, by using corporate HTTP proxies
....or is that just an "unintended feature" of it?
About Git vs. Mercurial, there is an analysis in article DVCSAnalysis (dating from summer 2008)
Why can not I create a project? The Button of "createproject" can not be used; It has been a gray all the time....