CVS 命令列出所有可供检出的模块?

CVS 命令列出所有可供检出的模块?

我在 bash shell 中运行 CVS。

我只是想看看哪些模块可供结帐。

我已经研究了一段时间,唯一想到的就是:

cvs checkout -c

执行后什么都没显示。现在我知道可能只是没有模块需要签出,但目前这对我来说更像是一种猜测,而猜测很少会有好结果。

更新:

我正在运行 1.11.23 版本

显然这个版本不支持cvs ls Cheers。

答案1

以下 hackery 应该适用于 1.11.* 版的 cvs 客户端和服务器。我想它也能适用于其他版本,但这些是我本地测试的版本。

mkdir -p dummy/CVS
cd dummy
echo . > CVS/Repository
touch CVS/Entries
cvs -d$CVSROOT -n co . | awk '{print $5}'

要将此应用于 cvs 层次结构中的任意嵌套目录,匹配的本地目录也必须存在。要查找$CVSROOT/test_project/some_subdir(例如) 下的可用目录,以下内容似乎有效。

cd dummy
mkdir -p test_project/some_subdir
cvs -d$CVSROOT -n co test_project/some_subdir

如果结果与预期不符,请放弃 awk。输出可能与我得到的结果略有不同。

如果您直接使用 cvs 有线协议,那么您可以做类似的事情,而不必使用目录黑客技术,但我认为我必须进行更多挖掘才能再次解决该问题。(我相信 Zend/Eclipse 在检测到较旧的 cvs 服务器版本时会这样做。)

答案2

如果你的 cvs 版本足够新,你应该可以执行

cvs ls

如果没有的话,您可能只需前往 cvs 服务器来检查 repo 本身。

相关内容