Подтвердить что ты не робот

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

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

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

cvs -d /usr/local/cvs listmodules

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


Чтобы ответить на комментарий Dewfy, 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.

4b9b3361

Ответ 1

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

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

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

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

    cvs -d [CVSROOT] co -l.

    cvs -n up -d

Ответ 2

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

 cvs -d /usr/local/cvs ls

В соответствии с этим http://www.cvsnt.org/manual/html/ls.html есть синонимы: dir, list, rls

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

cvs --help-commands

Ответ 3

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

cvs ls

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

cvs checkout CVSROOT/modules

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