25

如何在没有初始签出的情况下列出文件 CVS?

在颠覆中,我可以简单地在 CVS 中执行“svn ls http://svn.svn.com ”我该怎么做?

例如,我有这个 CVS 连接:

 pserver:anonymous@evocms.cvs.sourceforge.net:/cvsroot/evocms

如何列出其中的所有文件?

更新:

我正在这样做:

c:\>set CVSROOT=pserver:anonymous@evocms.cvs.sourceforge.net:/cvsroot/evocms
c:\>cvs -list ---> doesn't work, prints out the help screen
4

8 回答 8

35

如果是一次性操作,则不需要设置CVSROOT环境变量。只需使用-d临时存储库规范的参数。

如果您的 CVS/CVSNT 版本不太旧(确切地说,您需要 CVS 1.12.8 或更高版本或 CVSNT),那么正如其他人所说,在登录后

cvs ls

应该可以正常工作。

如果您的 CVS/CVSNT 版本不支持该ls命令,那么您可以尝试

cvs checkout -c

这只会转储预定义模块的列表。

如果您的 CVS/CVSNT 版本足够老,您可能会幸运地使用以下 hack(不适用于更新版本的 CVSNT,除非在服务器上启用了兼容模式):

首先将存储库的根目录检出到某个临时位置,这样我们就有了必要的元数据:

cvs -d[your CVSROOT string] co -l -dTemp .

然后模拟该文件夹的更新(带有目录):

cd Temp
cvs -n up -d

这将发出(几乎)与实际结帐相同的输出,而无需实际从服务器获取文件。

如果您在 Windows 上并使用相当新版本的 CVSNT 作为客户端,那么cvs ls当它检测到不支持ls自身的服务器时,它实际上会自动回退到这种机制。


哦,是的,而且 AFAICT 没有cvs -list. 它甚至不是有效的 CVS 命令行语法:-list必须是全局参数而不是命令,因为它紧跟在 the 之后,cvs并且没有指定实际命令。但是话又说回来,所有多字母参数(例如--help)都必须以双破折号开头,例如cvs --version. 大家有没有想过cvs listwhich 只是 的别名cvs ls

于 2009-05-22T07:51:09.697 回答
15
cvs -d $CVSROOT rls

希望这会有所帮助(cvs 版本 1.12.13)

于 2010-01-15T11:02:55.957 回答
3

您需要先登录,如下所示:

cvs -d :pserver:anonymous@evocms.cvs.sourceforge.net:/cvsroot/evocms 登录

然后,正如其他人所说,使用ls命令

有关背景,请参阅远程存储库的讨论

于 2009-05-20T18:41:26.543 回答
3

这就是我使用的。msolorzano 是我的登录名和密码,“Deployer”是模块:

cvs -d :pserver:msolorzano:password@gtess-cvs:/cvsdata/data1 rlog -R Deployer

...事实上,如果您在 UNIX/Linux 环境中执行命令,您可以以“干净的方式”检查 cvs 文件列表,如下所示:

cvs -d :pserver:msolorzano:password@gtess-cvs:/cvsdata/data1 rlog Deployer | grep  ',v' | sed 's/RCS file: //g' | sed s/,v//g
于 2012-10-02T18:05:01.523 回答
2

cvs 中有一个类似的命令

用法: cvs ls
cvs -list 列出模块, ls 列出模块的内容。

编辑:他们是对的,命令列表和 ls 是一样的,我很抱歉。

好吧,我真的不知道如何在没有实际检查的情况下列出 cvs 目录。您尝试访问的存储库是否具有 cvsweb 访问权限?

于 2009-05-20T18:20:49.253 回答
0

见 cvs 命令

例如;

cvs list

将列出 CVS 服务器中的所有模块

于 2009-05-20T18:17:51.350 回答
0

全部,

这是一个全面的方法:

  1. 启动命令提示符
  2. 复制此 cvs -d CVSROOT 登录名(或者,无论您对应的 CVSROOT 是什么)
  3. 输入您的密码并在出现提示时按回车键。这可能需要一段时间,但完成后,将出现新的提示。
  4. 输入 cvs –d cvs -d CVSROOT ls
  5. 砰!有你的清单

请记住,如果您没有定义 CVSROOT,您可以在此处复制并粘贴您自己的 CVSROOT。

于 2009-12-07T17:24:04.527 回答
0

cvs -d [CVS_ROOT] rlog {module_name}

于 2010-11-08T12:27:18.660 回答