如何在没有初步结帐的情况下列出文件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
答案 0 :(得分:33)
如果是一次性操作,则无需设置CVSROOT
环境变量。只需将-d
参数用于ad-hoc存储库规范。
如果您的CVS / CVSNT版本不是太旧(确切地说您需要CVS 1.12.8或更高版本或CVSNT),那么,正如其他人所说,登录后
cvs ls
应该可以正常工作。
如果您的CVS / CVSNT版本不支持ls
命令,那么您可以尝试
cvs checkout -c
只会转储预定义的modules列表。
如果您的CVS / CVSNT版本足够老,您可能会幸运得到以下黑客攻击(除非在服务器上启用兼容模式,否则不能与更新版本的CVSNT一起使用):
首先将存储库的根目录检出到某个临时位置,这样我们就拥有了必要的元数据:
cvs -d[your CVSROOT string] co -l -dTemp .
然后模拟该文件夹的更新(包含目录):
cd Temp
cvs -n up -d
这将发出(几乎)与实际结账相同的输出,而不实际从服务器获取文件。
如果您使用的是Windows并且使用相当新版本的CVSNT作为客户端,那么当cvs ls
检测到不支持ls
的服务器时,cvs -list
实际上会自动回退到此机制。
哦,是的,AFAICT没有-list
这样的东西。它甚至不是有效的CVS命令行语法:cvs
必须是全局参数而不是命令,因为它紧跟在--help
之后,并且没有指定实际命令。但话说回来,所有多字母参数(例如cvs --version
)都必须以双短划线开头,例如cvs list
。你们大家都在想cvs ls
这只是{{1}}的别名吗?
答案 1 :(得分:15)
cvs -d $CVSROOT rls
希望这有帮助(cvs ver.1.12.13)
答案 2 :(得分:3)
首先需要login,如下所示:
cvs -d:pserver:anonymous@evocms.cvs.sourceforge.net:/ cvsroot / evocms login
然后,正如其他人所说,使用ls command。
有关背景信息,请参阅discussion of remote repositories
答案 3 :(得分: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
答案 4 :(得分:2)
cvs中有一个类似的命令
用法:cvs ls
cvs -list列出模块,ls列出模块内容。
好吧,我没有真正看到如何在没有实际检查的情况下列出cvs目录。 您尝试访问的仓库是否具有cvsweb访问权限?
答案 5 :(得分:0)
答案 6 :(得分:0)
所有
以下是一种全面的方法:
请记住,如果您没有定义CVSROOT,您可以在这里复制并粘贴您自己的CVSROOT。
答案 7 :(得分:0)
cvs -d [CVS_ROOT] rlog {module_name}