Question

Il n'y a pas de problème pour voir tous les commits sur un fichier particulier par son histoire CVS.

Ce que je besoin est de voir tous les fichiers qui se sont engagés à la même date que ou à proximité d'un fichier donné, ou tout simplement une plage de dates plaine. L'important est que je reçois tous les commits avant ou après ou à une date donnée.

Par exemple. Fichier x a 20 révisions, le plus récent est le 25 Juin, 2011

Il y a un bug et j'ai besoin de savoir ce que les autres dossiers ont été vérifiés à cette date pour vérifier les sources potentielles du bogue. Même quelque chose qui a pour effet équivalent WHERE date > '06-06-2011 serait parfaitement bien.

J'ai essayé googler autour, mais il ne semble pas y avoir de mention. Cependant, je l'ai entendu dire que faire quelque chose comme l'exemple de code ci-dessus est possible ..

Était-ce utile?

La solution

Je l'ai utilisé cvsps pour faire des choses comme ça. Il rassemble des groupes de contrôle ins dans des ensembles qu'il appelle un « patchset ». Il a toutes sortes de fonctionnalités pour rechercher créées par les utilisateurs jeu de modifications spécifiques, entre les dates, qui affectent un jeu de modifications certain fichier, etc. Il peut également créer des diff rapports de jeu de modifications, ce qui est extrêmement utile pour trouver ce qui a changé.

http://www.cobite.com/cvsps/

Autres conseils

J'ai une solution de type solution à ce moment. Je vais partager mais je suis toujours beaucoup intéressé à savoir comment faire / si cela peut se faire.

La solution de contournement:

Check out two copies of the code based on certain dates
 and do a directory diff with something like Beyond Compare. 

Problème:

What changes were made on or around June 25th?

Solution (Windows):

1. Create two directories C:\dirA\ and C:\dirB\
2. Right-click C:\dirA\ and click 'CVS Checkout...'
3. Select the appropriate Module
4. Click the 'Revision' tab
5. Choose to get the 'Files at a certain time' and pick June 24th.
6. Repeat steps 2 - 4 on C:\dirB\
7. Choose to get the 'Files at a certain time' and pick June 26th.
8. Do a directory diff of C:\dirA\ vs C:\dirB\
9. Any differences will have been checked in on either the 24th, 25th, or 26th.
10. View CVS History to determine the exact date and time of a particular change.

Ce n'est pas la solution la plus élégante, pour être sûr, mais cela fonctionne. Tant que la plage de dates est pas trop grand et le projet ne soit pas encombré avec les développeurs, la plupart des changements qui apparaissent seront ceux que vous recherchez.

Il est évident que, compte tenu de l'aspect un peu Kluge comme la nature de cela, je suis toujours beaucoup intéressé dans une solution plus élégante et je vais tenir cette question ouverte pour quelqu'un maintenant en cas a une entrée.

Note (5 ans plus tard, sept 2016)

La documentation autour des outils d'importation de CVS a été mis à jour.

Voir engager 106b672 , commit 72e0877 , engager 1eba3e5 (22 septembre 2016) par Jeff king (peff) .
(Fusionné par Junio ??Hamano C - gitster - commit 3d0049e , 3 octobre 2016)

cvsps ( www.cobite.com/cvsps ) est maintenant à github.com/andreyvit/cvsps

.

git cvs migration comprend maintenant l'avertissement suivant:

Ces instructions utilisent le script qui git-cvsimport des navires avec git, mais d'autres importateurs peuvent fournir de meilleurs résultats. Voir git cvsimport

Et gitcvsimport met en garde contre:

ATTENTION: git cvsimport utilise la version de cvsps 2, qui est considéré comme dépréciée; il ne fonctionne pas avec la version cvsps 3 et versions ultérieures.
Si vous effectuez une importation d'un CVS one-shot référentiel envisager d'utiliser cvs2git ou cvs-fast-export .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top