PyGitWeb – a python web git browser

Contexte

J’aime bien Git.

C’est le système de versionning/gestion de sources décentralisé créé par Linus Torvalds (le créateur de Linux pour les incultes!). Cependant, à l’inverse de Mercurial, il ne propose pas par défaut un serveur web pour naviguer dans les sources et les versions. Il y a bien des CGIs (gitweb et autres) pour combler ce manque mais ils sont tous trop lourds et complexes à mettre en oeuvre à mon goût.

Comme je désire avoir un moyen simple de naviguer (en lecture seule) dans plusieurs dépôts git sur mon serveur, j’ai décidé de coder mon propre outil : PyGitWeb.

Technologie

J’avais le choix de coder mon outil en PHP, Perl, Ruby ou Python et c’est ce dernier que j’ai choisit. Le serveur http est Lighttpd qui appelle l’interpréteur Python.

Fonctionnalités désirées

L’objectif d’avoir une page web (http://server/git/ par exemple) qui permet d’afficher tous les dépôts présents sur le serveur. On doit ensuite pouvoir aller consulter les commits, les versions, et les diffs/patchs. Pour finir, j’ajouterai une génération des tarballs pour chaque version.

Après 2 heures de réflexion, voici une ébauche (cliquez sur l’image pour agrandir) :

PyGitWeb

PyGitWeb

Sur cette ébauche, le programme va créer des instances Git pour chaque dépôts paramétrés. Il affiche une liste des dépôts et leur dernier commit. Je dois maintenant ajouter la gestion des liens et de la méthode GET pour le programme (pour passer les paramètres via l’URL). Aussi, la page est actuellement au format texte et il faut que je bascule au format xhtml.

One Comment

  1. [...] au précédent article sur PyGitWeb, j’ai continué de travailler dessus… Et ça commence à ressembler à quelque [...]

Leave a Reply