2010-08-09 10 views
19

Gibt es einen Befehl, der eine Liste von Modulnamen in einem CVS-Repository zurückgibt?Wie kann ich alle Module in einem CVS-Repository auflisten?

einen Neuling zu CVS zu sein, ich vorstellen, dass es etwas entlang der Linien von

cvs -d /usr/local/cvs listmodules 

sein sollte Was soll ich mit ersetzen listmodules eine Liste aller Module innerhalb der CVS-Repository zu bekommen?


Um Dewfy Kommentar Adresse, cvs --help-commands gibt die folgende:

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 

Die CVS-Version ist 1.11.22.

+0

up Ich mag eigentlich laufen in ': ext:' Modus, in dem Fall, dass ein Unterschied macht. – Zaid

Antwort

15

Wie bereits in this answer beschrieben, gibt es grundsätzlich drei Möglichkeiten, dies zu umgehen. Welcher zu Ihrer Situation passt, hängt erstens davon ab, welche Versionen von CVS Sie sowohl auf dem Client als auch auf dem Server verwenden, und zweitens nach Ihrer Definition von "Modulen".

  1. Wenn Sie auf Module beziehen, werden, wie sie ursprünglich von der CVS Autoren gedacht wurden, dh als Einträge in der CVSROOT/modules Datei dann cvs co -c oder cvs co -s werden Sie geben, dass der einzige Unterschied zwischen den beiden, dass der letztere Sortiert die Ausgabe nach "Status". Sie können hier über die modules-Datei lesen: http://cvsbook.red-bean.com/cvsbook.html#modules

  2. Wenn Sie mindestens CVS 1.12.8 oder CVSNT und Ihre Vorstellung von Modulen entspricht mehr dem tatsächlichen Verzeichnisse innerhalb des Repository verwenden, dann cvs ls sollte das sein, was Sie wollen.

  3. Schließlich, wenn Sie in der Tat nach einem Remote-Verzeichnis sind die Auflistung aber Ihr Server eine ältere Version von CVS läuft, dann gibt es den Trick der Erste, der eine „Fälschung“ Kasse Ausführen und dann eine rekursive Aktualisierung Simulation:

    cvs -d [CVSROOT] co-l.

    cvs -n -d

+0

Was ist der Sinn dieser Antwort? Nur ein Kommentar zeigt auf eine andere Antwort – manojlds

+0

@Oliver, Antworten, die im Grunde nur Links sind nicht als gut, und möglicherweise am Ende wird gelöscht (Ihr ist bereits in der Flagge Warteschlange). Um dies zu verhindern, ziehen Sie in Betracht, den relevanten Teil dieser Antwort in Ihre Antwort zu zitieren (und achten Sie darauf, dem ursprünglichen Autor eine Zuschreibung zu geben). Sie können den Link auf die ursprüngliche Antwort verlassen, aber auf diese Weise wird Ihre Antwort für sich selbst stehen. –

+1

@Ben: Fertig. Ich war auch der Autor der ursprünglichen Antwort. –

0

können Sie

laufen
cvs ls 

den Baum in CVS zur Liste> = 1,11 (siehe cvs --version) oder

cvs checkout CVSROOT/modules 

führen Sie das Modulkonfigurationsdatei zu sehen.

+0

'ls' wird nicht erkannt. Weder sind die Synonyme [vorgeschlagen von Dewfy] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437948#3437948) – Zaid

+0

Ja, du brauche CVS 1.11 oder höher. Ich denke, es ist sowohl auf dem Client als auch auf dem Server erforderlich. Aber die Moduldatei sollte auch mit älteren Versionen verfügbar sein. – Mikel

1

Verwendung folgenden:

cvs -d /usr/local/cvs ls 

Nach dieser http://www.cvsnt.org/manual/html/ls.html sind Synonyme: dir, liste, rls

Und natürlich nicht vergeben, nicht alle verfügbaren Befehle Bewertung von:

cvs --help-commands 
+0

'ls' und seine Synonyme werden nicht als Befehl erkannt. Siehe meinen Kommentar in [Mikels Antwort] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437915#3437915) – Zaid

+0

@Zaid - könnte Bitte führe folgendes aus: cvs --help-commands und registriere das Ergebnis – Dewfy

+0

Ich habe meinen Beitrag aktualisiert, um deine Frage zu beantworten – Zaid

Verwandte Themen