Quelles sont vos meilleures pratiques et astuces pour utiliser git pour interfacer avec un référentiel CVS?
Je n'ai travaillé qu'avec les interactions Git-CVS pour faire une démonstration de Git pour un ami, mais c'était très simple.
cvsps
. Git cvsimport
l'utilise pour accéder à l'historique CVS.Nous avons constaté que, pour un grand projet, la configuration initiale était beaucoup plus rapide en prenant une copie complète du dépôt CVS sur votre ordinateur et en effectuant la 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 -x après -p est très important. Cela passe -x à cvsps. Pour plus d'informations, veuillez consulter la page de manuel cvsps .
J'ai écrit mes détails workflow 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 entreprise est bloquée à l'aide de cvs pour le contrôle de version et que vous utilisez git sur votre poste de travail pour vous faciliter la vie, vous pourriez 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
Appeler ce fichier 'cvs' et l'inclure le chemin avant la vraie commande CVS. Sinon, vous pouvez avoir des validations git plus anciennes que celles de cvs, ce qui n'est pas très utile ...