git blameall
Vous connaissez surement la commande blame, présent dans tous les outils de gestion de source, et qui permet de connaitre l'auteur de chaque ligne d'un fichier. Dan Gindikin nous gratifie de git-blameall, un petit script en Python (il faut donc qu'un interpréteur Python soit présent sur votre système, ce qui est le cas par défaut sur Linux et MacOS) qui permet d'avoir la mếme information pour toutes les lignes qui ont existées dans l'histoire de ce fichier.
Vous avez donc une colonne supplémentaire qui vous donne le SHA1 ou cette ligne fut effacée. A garder sous le coude !
Voici une copie d'écran :

cgit, un frontal Web pour Git
Quand vous installez un dépôt Git sur votre serveur, il est toujours intéressant d'installer en plus un frontal Web. Cela vous permet notamment de naviguer dans votre dépôt sans avoir besoin de le cloner, de télécharger une version, ou tout simplement de connaitre l'état du dépôt.
Le frontal fournit avec Git est Gitweb, écrit en Perl et utilisable en cgi. Mais son interface est un peu désuete, et les fonctionnalités limitées (je vous laisse juge en naviguant sur le dépôt Git).
cgit tente de combler ces lacunes en offrant plusieurs fonctionnalités intéressantes :
-
Une interface un peu plus propre et claire.
-
Un cache pour une navigation rapide (mais il est déja bien plus rapide que gitweb sans l'activer).
-
La possibilité de visualiser les différences plus facilement (side-by-side diffs).
-
flux RSS.
-
La découverte automatique de dépôts à la configuration.
-
La colorisation syntaxique.
Il est très facile à configurer. Pour l'installation, téléchargez l'archive et tapez la commande make pour générer le binaire en C. Il suffit ensuite de l'utiliser comme un cgi. Lisez la documentation fournie pour connaître les options du fichier de configuration.
Je vous laisse regarder la différence entre les deux, mais pour moi, c'est évident que cgit est plus intéressant. C'est pour cette raison qu'il est utilisé par défaut au taff :)
Historiser /etc avec etckeeper
Pour illuster l'un des intérêts des DVCS, à savoir son coté décentralisé, ou plus éxactement le fait qu'il n'est pas obligatoire de disposer d'un dépôt central, voici un exemple concret. Nous pouvons historiser simplement un répertoire en tapant la commande :
$ git init
Ainsi, vous pouvez sauvegarder toute modification apportée à un fichier et historiser vos changements. Mais si vous voulez le faire simplement et automatiquement, il faut scripter un peu. Mais comme souvent dans le monde libre, un développeur à pensé avant vous, s'est sorti les doigts du censure et a publié son projet.
etckeeper, projet de Joey Hess (bien connu des utilisateurs Debian) permet comme son nom l'indique de sauvegarder le répertoire /etc (ensemble des fichiers de configurations sous Linux), simplement et rapidement. Joey est un vieux utilisateur d'outil de gestion de sources pour sauvegarder ses documents : il a écrit un article voici quelques années sur l'utilisation de CVS puis SVN pour gérer son répertoire personnel (son home).
Pour l'installer (sous Ubuntu ou Debian) :
$ aptitude install etckeeper
Le fichier de configuration s'appelle /etc/etckeeper/etckeeper.conf, notamment pour mettre git en backend. L'intérêt de etckeeper se trouve dans les scripts associés, puisqu'il traque les changements de paquet avec APT et DPKG et gére les permissions correctement (fondamental pour /etc/).
Et voila ! Vous avez maintenant un historique des changements sur votre machine.
Note : etckeeper gère aussi Hg, Darcs et Bzr.
Les GUI sous MacOS X
Mon ami Thomas, Rubyiste Maceux ascendant foie gras (il habite Toulouse) nous fait un rapide tour d'horizon des applications graphiques sous Mac OS X.
Au programme :
- Gitnub
- GitX
- GitY
- Gitbox
- Tower