overdue-scratch

Author Topic: [Poll] source code management  (Read 4370 times)

0 Members and 1 Guest are viewing this topic.

r007

  • Observer
  • Posts: 21
[Poll] source code management
« on: January 21, 2011, 02:12:06 AM »
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:
BazaarGitMercurial
OriginCanonical (Ubuntu)Linux Kernel?
Written inPythonPerl/CPython
Permissionsfine-grained (builtin)fine-grained (external)binary (access or not)
GUIextensive (builtin)rudimentary (builtin)varying (external)
Compatibilitysvn,git,hgsvnmany (import only)
Speed1OKfastOK
Hunk-Level commits2noyesyes
Staging area3noyesno
Global 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.

r007

  • Observer
  • Posts: 21
Re: [Poll] source code management
« Reply #1 on: January 21, 2011, 02:13:19 AM »
Personally, I vote for git. I like my staging area, but bzr seems legit as well. Just expressing my personal preference. :)

Slice

  • VoodooLabs
  • Posts: 52
Re: [Poll] source code management
« Reply #2 on: January 21, 2011, 10:04:36 AM »
Do not forget that we use latest XCode 3.2.5.
So my vote for Subversion (SVN).

r007

  • Observer
  • Posts: 21
Re: [Poll] source code management
« Reply #3 on: January 21, 2011, 12:09:03 PM »

Slice

  • VoodooLabs
  • Posts: 52
Re: [Poll] source code management
« Reply #4 on: January 21, 2011, 08:14:43 PM »
... in future. Now Apple recommend to use 3.2.5 for regular development.

valv

  • VoodooLabs
  • Posts: 72
    • The AnVAL Forum (fr)
Re: [Poll] source code management
« Reply #5 on: January 29, 2011, 04:46:20 PM »
I did vote for bzr, because it can get us git and more.
And in case we want to go other ways (one day) we can rely on it to.

cosmo1t

  • VoodooLabs
  • Posts: 25
Re: [Poll] source code management
« Reply #6 on: February 18, 2011, 09:00:44 PM »
GIT is fine..

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: [Poll] source code management
« Reply #7 on: May 10, 2011, 12:54:07 PM »
Well, don't know if this is still "alive"? ??? anyway, here is my opinion.
As long as you guys don't remove SVN support, i don't really care about any other SMC you add. SVN is more than enough for my my humble needs and to be honest i do like it better than Git or Mercurial. Sure, it lacks some functionality that i could use and the others have, but i can live without it. In the end, mi vote was "none of this".
That's it... sorry for the long time to feedback; time necessary to check the other SMC's is included :)

Stay safe, you all...
« Last Edit: May 10, 2011, 12:56:30 PM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT