Quelles sont vos meilleures pratiques et astuces pour utiliser git en tant qu’interface avec un référentiel CVS?
Réponses
Trop de publicités?J'ai écrit une réponse à une question similaire ici .
Cela fonctionne étonnamment bien lorsque vous êtes obligé de continuer à transférer les modifications dans un référentiel CVS central.
J'ai seulement travaillé avec Git-CVS interactions à la démo Git pour un ami, mais c'était très simple.
- Vous devez installer une version actuelle de la
cvsps
.Git cvsimport
utilise pour l'accès CVS de l'histoire. -
Nous avons constaté que, pour un grand projet, un premier set-up a été beaucoup plus rapide en prenant une copie complète de la CVS repo sur votre ordinateur, et de faire l'
git cvsimport
localement:$ rsync rsync://yourprojecthost.com/cvsroot/yourproject/* $ mkdir myproject.git $ cd myproject.git $ git cvsimport -p -x -v -d :local:/path/to/cvsroot/yourproject
Notez que l'option-x après -p est très important. Ce passe -x pour cvsps. Pour plus d'informations, veuillez consulter le cvsps page de man.
J'ai rédigé les détails de mon propre flux de travail pour CVS distant, Git local
Légèrement méta-réponse. Si vous êtes obligé d'utiliser git 'style guérilla', c'est-à-dire que votre société utilise bloqué cvs pour le contrôle de version et que vous utilisez git sur votre poste de travail pour vous simplifier la vie, vous pouvez envisager de faire quelque chose comme ça;
CVS=realCvsPath
# commit to the git first
if ($ARGV[0] && $ARGV[0] eq "commit")
{
system 'git commit -a';
}
# execute the appropriate cvs program
# ===================================
exec "$CVS", @ARGV
Appelez ce fichier 'cvs' et incluez-le le chemin avant la vraie commande CVS. Sinon, vous pouvez avoir des commits plus anciens que ceux de cvs, ce qui n’est pas utile ...