2009-05-08 5 views

Répondre

1

Nous pouvons facilement le faire en utilisant ViewVC (ou ViewCVS comme on l'appelait autrefois). Ce qu'il fait est de construire une base de données SQL de tous les fichiers et de leurs validations (avec des commentaires et des auteurs) que vous pouvez facilement interroger de plusieurs façons.

Vous pouvez le télécharger à partir de http://www.viewvc.org/. Vous devrez configurer un serveur MySQL pour stocker les données et ont accès au répertoire de stockage physique sur le serveur CVS pour importer votre référentiel existant engage via l'outil cvsdbadmin:

cvsdbadmin rebuild /var/lib/cvs 

/var/lib/cvs est votre emplacement du référentiel. Les informations de connexion à la base de données sont stockées dans le fichier de configuration ViewVC.

En fonction de la taille du référentiel, celle-ci peut durer de quelques secondes à plusieurs heures. Une fois l'opération terminée, vous pouvez utiliser des outils de requête SQL standard pour trouver toutes sortes d'informations sur vos validations. Nous l'utilisons pour générer très rapidement des journaux de modifications. En utilisant un CVS loginfo script (également inclus avec ViewVC), nous mettons à jour la base de données à la volée chaque fois que quelqu'un valide un fichier sur CVS.

Il peut également être très utile si vous avez commis quelque chose par accident (voir this blog post); Comme les CVS ne sont pas transactionnels, cela peut être difficile à comprendre.

1

La seule façon que je peux penser à faire est d'obtenir une liste de tous les fichiers changé l'année dernière (j'utilise ici 2008-05-08 comme date il y a un an):

cvs history -c -D2008-05-08 

et comparez avec une liste de tous les fichiers actuellement dans le référentiel. Ceux qui ne figurent pas dans la liste générée par cvs history n'ont pas été modifiés au cours de la dernière année.

0

L'option diff de CVS pour montrer des fichiers identiques (--report-identiques-fichiers) semble cassé, au moins pour moi. Vous pouvez simplement votre commande ancienne version:

cvs co -D "1 year old" proj 

Et utiliser le bon vieux diff pour trouver des fichiers identiques:

diff --recursive --report-identical-files --brief | grep identical 
1

Si vous avez accès au référentiel, vous pouvez effectuer une recherche pour rechercher les fichiers dont la date de dernière modification remonte à plus d'un an. Dans CVS, chaque fichier possède un fichier de référentiel correspondant. (Cela ne fonctionnerait pas dans Subversion, car le référentiel est dans un format opaque.)

Questions connexes