2009-01-30 7 views
0

Je cherche un script qui prend une copie de travail d'un module CVS, exécute toutes les commandes "cvs add" et "cvs remove" nécessaires, et valide tout. Le résultat final est que la copie du dépôt devient exactement comme la copie de travail.Script CVS pour ajouter, supprimer et valider automatiquement

Je pense avoir déjà vu quelque chose comme ça, mais je ne l'ai pas trouvé sur Google. Quelqu'un at-il un script similaire qu'ils ont utilisé? Je sais que je peux lancer "cvs -nq update" et analyser les résultats moi-même, et c'est ce que je finirai probablement par faire. Mais CVS a toutes sortes de cas bizarres, donc j'aimerais trouver un script déjà testé s'il existe.

Répondre

1

J'ai écrit quelque chose de similaire à une macro pour qui est toujours livré avec elle. Vous pouvez le trouver sous Macros | CVS | Copier vers branche/tronc ...

Il vous demandera pour un nom de branche de copier la sélection en cours (laissez simplement vide si vous voulez le copier sur le tronc) puis fait tous les préparatifs nécessaires que vous avez mentionnés, sauf pour le commit final.

Je l'ai utilisé que dans la pratique deux fois moi-même, mais il a été là-bas depuis quelques années maintenant et je n'ai pas eu de plaintes ...

De l'docstring:

======
Utilisation:

  • Sélectionnez un ou plusieurs fichiers ou dossiers contrôlés CVS.

  • Exécutez la macro à partir du menu Macros | CVS.

  • Entrez le nom de la branche sur laquelle vous souhaitez copier la sélection ou appuyez simplement sur pour copier vers HEAD.

=============
Problèmes connus/"Un-:" subtilités

  • Lors de la copie des fichiers individuels qui ont été ajoutés sur une branche du automatique l'ajout ne fonctionnera pas car CVS assumera la balise du répertoire qui serait incorrecte (cela résulte en un message d'erreur «foo.txt ajouté indépendamment par un deuxième partie»). Il est généralement préférable de toujours utiliser la macro sur les sélections de répertoire.

  • Un update -P dans un fichier .cvsrc pourrait potentiellement gâcher les loisirs de dossiers ajoutés sur une branche, donc je utiliser explicitement désactiver des .cvsrc et mis compression de manière fixe à -z7 (OMI raisonnable). Toutes les autres options .cvsrc seront perdues.

Questions connexes