Existe-t-il une commande qui renvoie une liste de noms de modules contenus dans un référentiel CVS?
Étant un débutant sur CVS, j’imagine qu’il devrait y avoir quelque chose dans le sens de
cvs -d /usr/local/cvs listmodules
À quoi devrais-je substituer listmodules
par pour obtenir une liste de tous les modules du référentiel CVS?
Pour répondre au commentaire de Dewfy, cvs --help-commands
renvoie le texte suivant:
add Add a new file/directory to the repository admin Administration front end for rcs annotate Show last revision where each line was modified checkout Checkout sources for editing commit Check files into the repository diff Show differences between revisions edit Get ready to edit a watched file editors See who is editing a watched file export Export sources from CVS, similar to checkout history Show repository access history import Import sources into CVS, using vendor branches init Create a CVS repository if it doesn't exist kserver Kerberos server mode log Print out history information for files login Prompt for password for authenticating server logout Removes entry in .cvspass for remote repository pserver Password server mode rannotate Show last revision where each line of module was modified rdiff Create 'patch' format diffs between releases release Indicate that a Module is no longer in use remove Remove an entry from the repository rlog Print out history information for a module rtag Add a symbolic tag to a module server Server mode status Display status information on checked out files tag Add a symbolic tag to checked out version of files unedit Undo an edit command update Bring work tree in sync with repository version Show current CVS version(s) watch Set watches watchers See who is watching a file
La version de CVS est 1.11.22 .
Comme déjà décrit dans cette réponse , il existe fondamentalement trois façons d’agir. Le choix de votre choix dépend des versions de CVS que vous utilisez sur le client et sur le serveur et de votre définition des "modules".
Si vous faites référence aux modules tels qu’ils avaient été conçus à l’origine par les auteurs de CVS, c’est-à-dire comme entrées dans le fichier CVSROOT/modules
, alors cvs co -c
ou cvs co -s
vous donnera cela, la seule différence entre les deux étant que ces derniers trieront la sortie par ". Vous pouvez lire sur le fichier de modules ici: http://cvsbook.red-bean.com/cvsbook.html#modules
Si vous utilisez au moins CVS 1.12.8 ou CVSNT et que votre idée de modules correspond davantage aux répertoires réels dans le référentiel, alors cvs ls
devrait être celui que vous souhaitez.
Enfin, si vous êtes effectivement après une liste de répertoires distants mais que votre serveur exécute une version plus ancienne de CVS, il est alors intéressant de commencer par effectuer une "fausse" vérification puis de simuler une mise à jour récursive:
cvs -d [CVSROOT] co -l.
cvs -n up -d
Utilisez ce qui suit:
cvs -d /usr/local/cvs ls
Selon ceci http://www.cvsnt.org/manual/html/ls.html il existe des synonymes: dir, list, rls
Et bien sûr, ne pardonnez pas de passer en revue toutes les commandes disponibles en:
cvs --help-commands
Tu peux courir
cvs ls
pour lister l’arbre dans CVS> = 1.11 (voir cvs --version), ou lancer
cvs checkout CVSROOT/modules
pour voir le fichier de configuration du module.