Les meilleures pratiques pour l'utilisation de git avec CVS
Quelles sont vos bonnes pratiques et conseils pour l'utilisation de git à l'interface avec un référentiel CVS?
- Je serais tenté de poser la même question pour SourceSafe, mais je ne veux vraiment pas à monter sur le (totalement sur-cible) de la dérision.
Vous devez vous connecter pour publier un commentaire.
J'ai écrit une réponse à une question similaire ici.
Cela fonctionne étonnamment bien lorsque vous êtes forcé à continuer à faire des changements dans un référentiel CVS.
J'ai seulement travaillé avec Git-CVS interactions à la démo Git pour un ami, mais c'était très simple.
cvsps
.Git cvsimport
l'utilise pour l'accès CVS histoire.Nous avons constaté que, pour un grand projet, un premier set-up a été beaucoup plus vite en prenant une copie complète de la CVS repo sur votre ordinateur, et de faire la
git cvsimport
localement:Noter que le x après -p est très important. Ce passe -x pour cvsps. Pour plus d'informations, veuillez consulter le cvsps page de man.
git cvsimport -p -x -v -d :local:/path/to/cvsroot yourproject
J'ai écrit les détails de ma propre flux de travail à distance pour les CVS, Git local
cvsimport
pour des raisons non précisées (il y a aussi d'autres outils pour ce faire), afin de promouvoir jeter l'ensemble de la révision précédente date de l'information? C'est une terrible solution.CVS
à.gitignore
, au lieu de s'engager à git? N'est-il pas votre dépôt git incomplète? Voir stackoverflow.com/a/37585092/1122270 et stackoverflow.com/q/37585385/1122270 pour ce que je veux dire.Légèrement méta-réponse. Si vous êtes obligé d'utiliser git de la guérilla style", c'est à dire que votre entreprise est limité à l'utilisation de cvs pour le contrôle de version et que vous utilisez git sur votre poste de travail pour rendre la vie plus facile, vous pourriez envisager de faire quelque chose comme cela;
L'appel de ce fichier 'cvs' et y compris le chemin d'accès avant la commande CVS. Sinon, vous pouvez avoir git s'engage de plus que le cv, ce qui n'est pas très utile...
Si, en amont, est de 100% dans le CVS (par exemple, OpenBSD ou plusieurs de ses sous-projets comme mdocml ou ports-readmes), et surtout si c'est aussi rouillé que l'arborescence CVS d'OpenBSD est (p. ex., parfois même de devoir réécrire l'histoire), je trouve qu'il est très utile de simplement s'engager sous-jacents
CVS/{Entries,Repository,Root}
fichiers directement dans mongit
référentiel.Ce fait, il est très facile de ne pas avoir à disposer de plusieurs espaces de travail indépendants, permettent à la caisse avec
git
sur n'importe quelle machine, et puiscvs up
en place, oucvs diff
pour générer de corriger les CVS des correctifs pour l'envoi de la commande git-moins responsables en amont.