2010-08-09 5 views
19

Existe-t-il une commande qui renvoie une liste de noms de modules contenus dans un référentiel CVS?Comment puis-je lister tous les modules dans un référentiel CVS?

Être un débutant à CVS, je pense qu'il devrait y avoir quelque chose le long des lignes de

cvs -d /usr/local/cvs listmodules 

Que dois-je remplacer listmodules avec pour obtenir une liste de tous les modules dans le référentiel CVS?


Pour répondre à la remarque de Dewfy, cvs --help-commands renvoie les éléments suivants:

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 CVS est 1.11.22.

+0

Je veux vraiment courir dans ': poste: mode', en cas qui fait la différence. – Zaid

Répondre

15

Comme déjà décrit dans this answer, il y a fondamentalement trois façons d'y parvenir. Lequel convient à votre situation dépend d'abord des versions de CVS que vous utilisez sur le client et le serveur et ensuite de votre définition de "modules".

  1. Si vous faites référence à des modules tels qu'ils ont été considérés par les auteurs de CVS, ie que les entrées dans le fichier CVSROOT/modules puis cvs co -c ou cvs co -s vous donnera que la seule différence entre les deux étant que celui-ci triera la sortie par "statut". Vous pouvez lire ici le fichier modules: http://cvsbook.red-bean.com/cvsbook.html#modules

  2. Si vous utilisez au moins CVS 1.12.8 ou CVSNT et votre idée de modules correspond plus aux répertoires réels à l'intérieur du dépôt, alors cvs ls devrait être ce que vous voulez.

  3. Enfin, si vous êtes bien après une liste de répertoires à distance, mais votre serveur exécute une ancienne version de CVS, puis il y a le truc de la première exécution d'une caisse « faux », puis simuler une mise à jour récursive:

    cvs -d [CVSROOT] co-l.

    cvs -n up -d

+0

Quel est le point de cette réponse? Juste un commentaire pointant vers une autre réponse – manojlds

+0

@Oliver, les réponses qui sont essentiellement des liens ne sont pas considérées comme bonnes, et peuvent être supprimées (la vôtre est déjà dans la file d'attente des drapeaux). Pour éviter cela, pensez à citer la partie pertinente de cette réponse dans votre réponse ici (et assurez-vous de donner l'attribution à l'auteur original). Vous pouvez laisser le lien vers la réponse originale, mais de cette façon, votre réponse sera autonome. –

+1

@Ben: Terminé. J'étais aussi l'auteur de la réponse originale. –

0

Vous pouvez exécuter

cvs ls 

à la liste dans l'arborescence CVS> = 1.11 (voir cvs --version), ou exécuter

cvs checkout CVSROOT/modules 

pour voir le fichier de configuration du module.

+0

'ls' n'est pas reconnu. Ni les synonymes [suggéré par Dewfy] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437948#3437948) – Zaid

+0

Ouais, vous besoin de CVS 1.11 ou supérieur. Je pense que c'est nécessaire sur le client et le serveur. Mais le fichier de modules devrait être disponible même avec les anciennes versions. – Mikel

1

Utilisation suivant:

cvs -d /usr/local/cvs ls 

Selon cette http://www.cvsnt.org/manual/html/ls.html des synonymes: dir, liste, RLS

Et bien sûr, ne pardonnent pas d'examiner toutes les commandes disponibles par:

cvs --help-commands 
+0

'ls' et ses synonymes ne sont pas reconnus comme une commande. Voir mon commentaire dans [Réponse de Mikel] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437915#3437915) – Zaid

+0

@Zaid - pourrait vous devez exécuter: cvs --help-commands et enregistrez le résultat – Dewfy

+0

J'ai mis à jour mon message pour répondre à votre question – Zaid

Questions connexes