2010-08-09 18 views
19

Esiste un comando che restituisce un elenco di nomi di moduli contenuti in un repository CVS?Come posso elencare tutti i moduli in un repository CVS?

Essendo un novizio di CVS, immagino che ci dovrebbe essere qualcosa sulla falsariga di

cvs -d /usr/local/cvs listmodules 

Cosa devo sostituire listmodules con per ottenere un elenco di tutti i moduli all'interno della repository CVS?


Per affrontare il commento di Dewfy, cvs --help-commands restituisce il seguente:

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 versione CVS è 1.11.22.

+0

Io in realtà voglio correre in ': ext:' modalità, nel caso che fa la differenza. – Zaid

risposta

15

Come già descritto in this answer ci sono fondamentalmente tre modi per farlo. Quale si adatta alla tua situazione dipende in primo luogo da quali versioni di CVS stai usando su client e server e in secondo luogo sulla tua definizione di "moduli".

  1. Se lei si riferisce a moduli come sono stati originariamente pensati dagli autori CVS, cioè come voci nel file CVSROOT/modules poi cvs co -c o cvs co -s vi darà che, l'unica differenza tra i due è che questi ultimi ordinerà l'output per "stato". Si può leggere su file dei moduli qui: http://cvsbook.red-bean.com/cvsbook.html#modules

  2. Se si utilizza almeno CVS 1.12.8 o CVSNT e la vostra idea di moduli corrisponde più alle directory reali all'interno del repository, quindi cvs ls dovrebbe essere quello che vuoi.

  3. Infine, se siete davvero dopo una directory remota messa in vendita, ma il server esegue una versione precedente di CVS, poi c'è il trucco prima di eseguire un checkout "falso" e quindi la simulazione di un aggiornamento ricorsivo:

    cvs -d [CVSROOT] co -l.

    cvs -n -d fino

+0

Qual è il punto di questa risposta? Solo un commento che punta ad un'altra risposta – manojlds

+0

@Oliver, le risposte che fondamentalmente sono solo link non sono considerate buone, e potrebbero essere eliminate (il tuo è già nella coda delle bandiere). Per evitare ciò, prendi in considerazione la citazione della parte pertinente di tale risposta nella tua risposta qui (e assicurati di dare l'attribuzione all'autore originale). Puoi lasciare il link alla risposta originale, ma in questo modo la tua risposta sarà indipendente. –

+1

@ Ben: Fatto. Anch'io sono stato l'autore della risposta originale. –

0

È possibile eseguire

cvs ls 

alla lista l'albero in CVS> = 1.11 (vedi cvs --version), o eseguire

cvs checkout CVSROOT/modules 

per vedere il file di configurazione del modulo.

+0

'ls' non è riconosciuto. Né sono i sinonimi [suggerito da Dewfy] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437948#3437948) – Zaid

+0

Sì, tu bisogno del CVS 1.11 o successivo. Penso che sia richiesto sia sul client che sul server. Ma il file dei moduli dovrebbe essere disponibile anche con le versioni precedenti. – Mikel

1

Uso seguente:

cvs -d /usr/local/cvs ls 

Secondo questa http://www.cvsnt.org/manual/html/ls.html ci sono sinonimi: dir, list, RLS

E naturalmente non perdonano a rivedere tutti i comandi disponibili da:

cvs --help-commands 
+0

'ls' e i suoi sinonimi non sono riconosciuti come un comando. Vedi il mio commento in [risposta di Mikel] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437915#3437915) – Zaid

+0

@Zaid - potrebbe per favore esegui: cvs --help-commands e arruoli il risultato – Dewfy

+0

Ho aggiornato il mio post per rispondere alla tua domanda – Zaid

Problemi correlati