it-roy-ru.com

Как я могу перечислить все модули в хранилище CVS?

Есть ли команда, которая возвращает список имен модулей, содержащихся в хранилище CVS?

Будучи новичком в CVS, я представляю, что должно быть что-то вроде

cvs -d /usr/local/cvs listmodules

Чем я должен заменить listmodules, чтобы получить список всех модулей в хранилище CVS?


Чтобы ответить на комментарий Дьюфи, cvs --help-commands возвращает следующее:

    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

Версия CVS - 1.11.22 .

19
Zaid

Как уже описано в этот ответ в принципе, есть три способа сделать это. Какая из них подходит для вашей ситуации, зависит, во-первых, от того, какие версии CVS вы используете как на клиенте, так и на сервере, и, во-вторых, от вашего определения «модулей».

  1. Если вы ссылаетесь на модули в том виде, в котором они изначально были задуманы авторами CVS, т.е. как на записи в файле CVSROOT/modules, то cvs co -c или cvs co -s дадут вам это, единственное различие между ними состоит в том, что последние будут сортировать вывод по статусу ». Вы можете прочитать о файле модулей здесь: http://cvsbook.red-bean.com/cvsbook.html#modules

  2. Если вы используете хотя бы CVS 1.12.8 или CVSNT и ваша идея модулей больше соответствует фактическим каталогам внутри хранилища, тогда cvs ls должен быть тем, что вам нужно.

  3. Наконец, если вы действительно ищете список удаленных каталогов, но на вашем сервере установлена ​​более старая версия CVS, то есть хитрость: сначала выполнить «поддельную» проверку, а затем смоделировать рекурсивное обновление:

    cvs -d [CVSROOT] co -l.

    cvs -n up -d

16
Oliver Giesen

Используйте следующее:

 cvs -d /usr/local/cvs ls

Согласно этому http://www.cvsnt.org/manual/html/ls.html существуют синонимы: dir, list, rls

И, конечно же, не простите просмотреть все доступные команды:

cvs --help-commands
1
Dewfy

Вы можете запустить

cvs ls

вывести дерево в CVS> = 1.11 (см. cvs --version) или запустить

cvs checkout CVSROOT/modules

чтобы увидеть файл конфигурации модуля.

0
Mikel