Git, Gitg, Gitosis
Du beau, du bon, dubonnet comme ils disaient. Et bien le titre est incomplet il manque Trac. Oui après la débacle d’il y a quelques mois j’ai décidé de remettre le couvert. Au menu : Gitosis, Gitg une interface convi en GTK, et Trac.
Gitosis, GitWeb
Git d’abord, git toujours : j’utilise depuis un bout de temps git pour mes projets, avec ses avantages toussa toussa. Et récement j’ai mis un serveur Gitosis en place, avec Nginx pour Gitweb. J’ai, dirait-on oublié de vous en parler.
J’ai commencé par trouver de bons tutos LA et surtout LA sur le sujet. Le dernier tuto déchire sa race et j’ai juste pas envie de tout recopier.
Nginx est aussi relativement simple à mettre en place en suivant CE tuto.
Trac
Bon ensuite, pour des besoins pro j’avais besoin d’un truc pour gérer des tickets, des milestones toussa, donc bon Anisette n’étant stable encore, j’ai attrapé Trac et je l’ai collé sur une Lenny.
L’install se passe maintenant tout en douceur :
$> apt-get install trac trac-git
$> cd /var/trac
$> trac-admin initenv projet
[blabla] : spécifier git comme type de dépot
$>
Editez le trac.ini pour y rajouter (à la fin) :
[components]
tracext.git.* = enabled
Remontez dans le fichier et cherchez la ligne git_bin et spécifier là le path complet vers le binaire git.
Voila maintenant le tracd peut être lancé (histoire de tester).
Attention si comme moi vous avez le nginx qui tourne sur le port 80 tout ça risque de poser problème. La solution que j’ai trouvé c’est de mettre un lighttpd en frontal avec un proxy, et le nginx qui écoute sur un autre port. Le lighttpd fait donc proxy devant le nginx (sur le port 8080) et le tracd (sur le port 8081). Voici un exemple pour le port 8081 :
$HTTP["host"] == "one.host.whatever" {
proxy.balance = "fair"
proxy.server = ( "" => ( ( "host" => "0.0.0.0",
"port" => 8081 ))
)
}
Il vous suffit de rajouter quelque chose de similaire dans votre
Vous voudrez probablement avoir des users dans le web trac. Pour cela il faut créer un htdigest :
$> htdigest [-c] htdigestfile realm username
Ensuite :
$> trac-admin /var/trac/projet
TA> permission add username TRAC_ADMIN
Consultez la doc en local de Trac : http://one.host.whatever/projet/wiki/TracPermissions
Gitg
Le plus sympa pour la fin. Je suis un grand fan de la ligne de commande mais des fois il y a des outils graphiques qui aident bien à bosser. Je ne vous ai pas parlé de Gedit sous perf “Textmate” (ca ne saurait tarder) mais je vais vous parler de Gitg. Giggle m’avait déjà bien plus pour voir graphiquement le statut d’un dépôt, mais puisqu’il n’aide pas vraiment plus que ça je ne l’ai pas vraiment adopté. Et voilà que je tombe sur Gitg. J’ai souvent un soucis moi : commenté mes commits. C’est terrible je n’y arrive pas, et je me dis à chaque fois que voir le diff en même temps que je tape mon commit message serait super pratique. Un git diff | more d’un côté, un git commit de l’autre ? Faisable mais quand on a un outil graphique qui permet de mettre des couleurs c’est encore mieux. Et bien gitg fait ça super bien tout en affichant l’arbre.
$> apt-get install gitg
Miam.

