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

Есть ли команда, которая возвращает список имен модулей, содержащихся в репозитории 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 .

Ответы [ 3 ]

16 голосов
/ 10 августа 2010

Как уже описано в в этом ответе , в основном есть три способа сделать это. Какая из них подходит для вашей ситуации, зависит, во-первых, от того, какие версии 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

1 голос
/ 09 августа 2010

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

 cvs -d /usr/local/cvs ls

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

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

cvs --help-commands
0 голосов
/ 09 августа 2010

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

cvs ls

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

cvs checkout CVSROOT/modules

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...