La commande status de CVS a toujours eu le don de m’exaspérer. Elle est totalement inefficace à tel point qu’elle en devient inutilisable. Tous les utilisateurs de CVS ont sans doute connu ce moment de solitude lorsqu’il s’agit de lister les fichiers modifiés ou inconnus sur un gros projet.
Le terminal s’affole et même en utilisant la commande less (ou more), on est vite perdu. J’ai, comme tout le monde, bidouillé un script shell pour trier la sortie, mais il est difficile d’obtenir un résultat satisfaisant. J’ai aussi cherché une solution sur le net, sans jamais être vraiment satisfait.
J’ai donc fini par me résoudre à écrire un script Ruby plus efficace. Il trie les entrées par type (fichiers inconnus, modifiés, etc.) et affiche les fichiers avec leur chemin (relatif au répertoire courant). Par défaut, il n’affiche pas les fichiers à jour.
Installer ce script quelque part dans votre PATH
(dans /usr/local/bin par exemple) et rendez le exécutable avec la commande chmod +x cs
. Il vous faut bien sûr disposez d’une VM Ruby (installée par défaut avec a plupart des Unix, dont Linux et MacOSX). Pour afficher le statut d’un projet, se rendre dans son répertoire et taper simplement cs.
Ce script est sous license Apache (voir le fichier LICENSE pour plus d’information). On peut le télécharger ici.
Enjoy!