samedi 30 juillet 2011

Why I use gitolite

Whereas github is great for hosting your public repositories, as soon as you want to use many private remote repositories you should consider other options.

First because it's going to cost you some money and because it's always a good idea to avoid scatter your private stuffs on external server (Yes I know, as a google minion I'm not a good example...)

Among the many options to hosts your remote git repo, I've found gitolite to be the best one to suit my needs, let me explain why :

* I firmly believe in the KISS principle, and the fact that you don't need to use another daemon (it just uses sshd) is very appealing to me. (Other solutions often requiring to setup an apache/Webdav vhosts, git-daemon or whatever)

* Fine-grained access control : gitolite really shines in this aspect
   In addition to the usual  read/write/read&write gitolite provides access  to 'non-fast forward push', branches creation/deletion, write deny and extends the targets to not only repositories but also branches/tags

* It's simple ! It's simple to install, simple to configure. Don't even need to read the doc to understand :

@admins    = arnaud jeff
@team1     = jeff bob
@team2     =  arnaud jeff
        repo    gitolite-admin
                RW+     =  @admins

        repo    testing
                RW+     =   @team1 arnaud

        repo    kronar
                RW+     =   @team1 @team2

* Even if it relies on ssh as a basis for its authentication, it uses virtual users and doesn't require the users to have an account on the server

* It's configuration is versioned, gitolite-admin is a default repo managed by gitolite enabling remote administration through git. The whole gitolite configuration is self-contained.

* Other features you might like (but that I don't use)
     Informational commands (info, expand)
     disable write to git during backup (sysadmins will like this one...)
     gitweb support

Aucun commentaire :