|
ChoosingAVersionControlSystem
Deciding between Subversion and Mercurial when creating a project.
Deciding between Subversion and Mercurial/Git when creating a project.When creating a new project on Google Code, you need to choose between Subversion, Mercurial, and Git as a version control system (VCS). There is no right answer to picking a VCS. They are all 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 the most widely used VCS for open source projects.
For more information on Subversion, you might start with the free online Subversion book. Mercurial/GitMercurial and Git, like Bazaar, are Distributed Version Control Systems (DVCS) that enables developers to work offline and define more complex workflows such as peer-to-peer pushing/pulling of code.
For a great (and fun) tutorial on Mercurial, take a look at http://hginit.com. For Git, try http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html. | |
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....
About using Git, if you want to use it locally, of course you can go for subversion and use the git-svn packages.
I chose Mercurial for my last private little project.. Just because I know nothing about DVCS, and want have some try..
is support in the pipeline?
@francisdinh:
Says who? Mercurial was started BEFORE git.
If Linus and Matt would have known from each other, Linus perhaps wouldnt even developed a own system, he just didnt know that another kernel developer (Matt) already started one.
So just from the time factor I believe Mercurial is more robust, also because of the more failure-avoiding Python programming language (the speed parts altough are also implemented in C).
But the major opportunity of Mercurial over Git is that there is a native Windows implementation that works right out of the box (TortoiseHG with nice GUI stuff) instead of a halfbaked cygwin solution.
Also there are more plugins for the big IDEs then for git. (Netbeans has it native, also there is a Eclipse plugin, etc.)
Git is mostly linux & co. - focused, no wonder why (Linus).
CVS, Subversion, Mercurial, Git, Bazaar. Maybe I'll just keep my code on my own hard drive, come back in a couple years and see if the war is over :)
^ I totally agree with ya!
Use whatever SCM system best suits your needs and just ignore all the fanboy statements on which is "best" since that is 100% subjective.
IMHO the two systems Google are hosting would cover most usecases for an FOSS development team.
Since the initial analysis (mentioned <a href="http://code.google.com/p/support/wiki/DVCSAnalysis">above</a>) Git has acquired the <a href="http://progit.org/2010/03/04/smart-http.html">Smart HTTP Protocol</a>, which makes HTTP-based checkouts as fast as Git-based checkouts, possibly even surpassing Hg at efficiency. Although it seems unlikely that Google will add Git, it's possible to use git-svn to interact with an SVN based repository, or use git-hg to interact with the hg repository.
FYI if you want to record your vote for Git support, do it here: http://code.google.com/p/support/issues/detail?id=2454
@mm.mpathy:
According to Wikipedia, which cites external sources, Git started a bit before mercurial and was self-hosting nearly two weeks before mercurial was even announced. Both project started quickly after the announced the retirement of the free version of BitKeeper?, which prompted Linus to move to another VCS; so both where aiming at being the VCS for Linux Kernel development.
楼下需要中文
When I tried to commit my code with svn ci it returns error "svn: Commit failed (details follow): svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKACTIVITY request for '/svn/!svn/act/acf5cd6f-e8d7-476e-a572-a61a5d293586' "
how this can be fixed?
Can i host Version control system(probably SVN) at our servers, and still can manage download hosting at google code.
link http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html is offline, 2011/11/04
pls am trying to incorporate google books API into a filemaker app, but really dont how to go about it. Anyone to please hlep me out on it. It's very urgent...
for GIT learning, it's recommended: http://progit.org/book/ (since the link above is not working any more)