Chameleon > DevTalk

[Poll] source code management

(1/2) > >>

So far, I've been mostly discussing with valv on IRC and read the opinions in the other thread concerning SCM. As it is kind of difficult to get all the developers on IRC at the same time, I thought we should hold a poll here. I'll summarize what we have so far.

It's increasingly clear that SVN doesn't quite cut it as a source code management system anymore, and chameleon should be moving onward to tools that allow for more productivity, especially in the way of maintaining branches and getting good features into the stable release more easily. As it is now, the branches in SVN are basically forks with little flowing back into mainline chameleon. Thus, distributed, change-oriented source code management.

There are three contenders (listed alphabetically here): Bazaar (or bzr), Git, and Mercurial (or hg).

I've read through the introductory documentation of each, and this is what I found:
BazaarGitMercurialOriginCanonical (Ubuntu)Linux Kernel?Written inPythonPerl/CPythonPermissionsfine-grained (builtin)fine-grained (external)binary (access or not)GUIextensive (builtin)rudimentary (builtin)varying (external)Compatibilitysvn,git,hgsvnmany (import only)Speed1OKfastOKHunk-Level commits2noyesyesStaging area3noyesnoGlobal Tags3metadatametadatatracked in a file
1see bazaar speed comparison
2can split a commit into smaller than filewise changesets
3the staging area is an additional step where you prepare a commit by selecting all the changes you want before actually committing. Many people have a hard time getting used to it at first, but it can be a helpful tool.

All will be accessed using SSH and public keys -- so you may want to familiarize yourself with that. Usage complexity on the command line is comparable, git is just a bit more complex because it exposes pretty much everything under the hood where the others make some abstractions.

If I missed out on something important, please let me know, I'll edit the post then.

Personally, I vote for git. I like my staging area, but bzr seems legit as well. Just expressing my personal preference. :)

Do not forget that we use latest XCode 3.2.5.
So my vote for Subversion (SVN).

Kind sir, I direct thee to this page at Apple confirming git for Xcode 4.

... in future. Now Apple recommend to use 3.2.5 for regular development.


[0] Message Index

[#] Next page

Go to full version