如何列出CVS存储库中的所有模块?

Zai*_*aid 21 cvs

是否有一个命令返回CVS存储库中包含的模块名称列表?

作为CVS的新手,我想应该有类似的东西

cvs -d /usr/local/cvs listmodules
Run Code Online (Sandbox Code Playgroud)

我应该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
Run Code Online (Sandbox Code Playgroud)

CVS版本是1.11.22.

Oli*_*sen 17

正如本答案中已经描述的那样,基本上有三种方法可以解决这个问题.哪一个适合您的情况首先取决于您在客户端和服务器上使用的CVS版本,其次取决于您对"模块"的定义.

  1. 如果您指的是CVS作者最初认为的模块,即作为CVSROOT/modules文件中的条目然后cvs co -ccvs 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