2010-08-09 11 views
19

Czy istnieje polecenie, które zwraca listę nazw modułów zawartych w repozytorium CVS?Jak mogę wyświetlić listę wszystkich modułów w repozytorium CVS?

Będąc początkujących do CVS, wyobrażam sobie, że nie powinno być coś na wzór

cvs -d /usr/local/cvs listmodules 

Co należy zastąpić listmodules z aby uzyskać listę wszystkich modułów w obrębie repozytorium CVS?


Aby rozwiązać komentarz Dewfy, w cvs --help-commands zwraca następujący:

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 

Wersja CVS jest 11.01.22.

+0

I rzeczywiście chcą pracować w ': ext:' tryb, w przypadku, że robi różnicę. – Zaid

Odpowiedz

15

Jak już opisano w this answer, istnieją zasadniczo trzy sposoby rozwiązania tego problemu. To, które pasuje do twojej sytuacji, zależy przede wszystkim od wersji CVS używanych zarówno przez klienta, jak i serwer, a po drugie od definicji "modułów".

  1. Jeśli odnosimy się do modułów były pierwotnie myśli przez autorów CVS, tj wpisów w pliku CVSROOT/modules następnie cvs co -c lub cvs co -s daje, że jedyną różnicą między nimi jest, że ten ostatni posortuje dane wyjściowe według "statusu". Można przeczytać o pliku tutaj modułów: http://cvsbook.red-bean.com/cvsbook.html#modules

  2. Jeśli używasz przynajmniej CVS 1.12.8 lub CVSNT i swój pomysł modułów odpowiada bardziej do rzeczywistych katalogów wewnątrz repozytorium, a następnie cvs ls powinno być to, co chcesz.

  3. Wreszcie, jeśli rzeczywiście jesteś po zdalnym katalogu listą ale serwer jest uruchomiony starszej wersji CVS, to nie jest sztuczka z pierwszym wykonaniem „fake” kasę a następnie symulację rekurencyjną zmiana:

    cvs -d [CVSROOT] co-l.

    cvs up -d -n

+0

Jaki jest sens tej odpowiedzi? Wystarczy komentarz wskazując na inną odpowiedź – manojlds

+0

@Oliver, odpowiedzi, które są w zasadzie tylko linki nie są uważane za dobre, a może być w końcu do usunięcia (twój jest już w kolejce flag). Aby temu zapobiec, należy rozważyć podając odpowiednią część tej odpowiedzi na odpowiedź tutaj (i upewnij się, aby dać przypisania do oryginalnego autora). Można zostawić link do oryginalnej odpowiedzi, ale w ten sposób odpowiedź będzie stać na jego własne. –

+1

@Ben: Gotowe. Ja także byłem autorem oryginalnej odpowiedzi. –

0

można uruchomić

cvs ls 

do listy drzewo w CVS> = 1,11 (patrz CV version) lub uruchomić

cvs checkout CVSROOT/modules 

zobaczyć plik konfiguracji modułu.

+0

'ls' nie jest rozpoznawany. Nie są też synonimy [sugerowane przez Dewfy] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437948#3437948) – Zaid

+0

Tak, ty potrzebujesz CVS 1.11 lub nowszego. Myślę, że jest to wymagane zarówno na kliencie, jak i na serwerze. Ale plik modułów powinien być dostępny nawet w starszych wersjach. – Mikel

1

Użyj następujących:

cvs -d /usr/local/cvs ls 

Według tego http://www.cvsnt.org/manual/html/ls.html nie są synonimami: dir, listy, RLS

I oczywiście nie przebaczycie aby przejrzeć wszystkie dostępne polecenia przez:

cvs --help-commands 
+0

'ls' i jego synonimy nie są rozpoznawane jako polecenia. Zobacz mój komentarz w [Odpowiedź Mikel'S] (http://stackoverflow.com/questions/3437885/how-can-i-list-all-modules-in-a-cvs-repository/3437915#3437915) – Zaid

+0

@Zaid - mógłby proszę wykonać: CVS --help-komendy i zaciągnąć wynik – Dewfy

+0

mam zaktualizowany mój post, aby odpowiedzieć na Twoje pytanie – Zaid

Powiązane problemy