[Kolab-devel] Switching the Kolab server to GIT?

Christoph Wickert wickert at kolabsys.com
Fri Nov 12 17:58:10 CET 2010


Hello world,

the Kolab server recently switched from CVS to HG. While this was definitely a 
step into the right direction, I feel however that it is not the end of the 
journey and we can still improve.

My proposal is to do another switch and move to GIT. Why that?

1. GIT will allow us better integration with other parts of the FOSS 
ecosystem. As Kolab strongly depends on a lot of projects, this is an 
important topic. ATM we have Cyrus, ClamAV and Horde using GIT. KDE is already 
in the process of switching to GIT, and others are likely to do the same.

2. It's not only upstream projects that use GIT but also downstream packaging 
efforts like Debian, Fedora or SUSE. Our repo would be a chain link from 
upstream to downstream.

3. GIT is the more well-known tool, which lowers the barrier to entry into the 
Kolab community by not having to learn another tool. Think of projects like 
gitorious with it's incredible growth over the past years. I'm sure the user 
base of GIT is larger than any other distributed SCM, this gives us a more 
potential contributors.

4. GIT has a vast ecosystem of additional tools that develops rapidly due to 
the large and growing user base. To name a few that come to mind quickly as I 
think they could be useful for us:
* Gerrit online code review: http://code.google.com/p/gerrit
* SCMbug - Bug tracker - SCM integration: http://freshmeat.net/projects/scmbug
* GitOlite - User and permission management: 
http://github.com/sitaramc/gitolite

5. GIT has a nice Web interface: If you don't like gitweb, there is cgit. It's 
is not only looking good but also very fast due to it's intelligent caching.

6. GIT is fast:
$ time git clone ssh://wickert@git.kolabsys.com/git/server.git
...
real	4m9.560s
user	0m7.599s
sys	0m1.957s

$ time hg clone ssh://hg@hg.kolab.org/server
...
real	6m11.644s
user	0m15.824s
sys	0m2.846s

That is real +49%, user +108% and sys +68%. Both repositiries are on the same 
server.

7. GIT takes little disk space:
$ du -s linux/kolab/git/server/
62544	linux/kolab/git/server/
$ du -s linux/kolab/hg/server/
74040	linux/kolab/hg/server/

That is +18,3%

8. Back in February when the question whether to move away from CVS was raised 
on this mailing list, several people already proposed GIT. Obviously people 
like GIT and as developers, we should not ignore our community.

For me the 'soft' facts like the larger ecosystem and tooling community, the 
tigher link to up- and downstream and the preference of the community or the 
user base are even more important than technical numbers.

Let's go one step further to the community. I'm sure we will not regret it.

Regards,
Christoph

-- 
Christoph Wickert
Senior Engineer

Kolab Systems AG
Zürich, Switzerland

e: wickert at kolabsys.com
t: +49 251 871 369 77
w: http://kolabsys.com

pgp: 85DACC63 Christoph Wickert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.kolab.org/pipermail/devel/attachments/20101112/0cfc9e80/attachment.sig>


More information about the devel mailing list