我们内部编写的工具之一是提供了以下形式的cvs提交跟踪:
Checking in src/com/package/AFile.java; /home/cvs/src/com/package/AFile.java,v <-- Afile.java new revision: 1.1.2.56; previous revision: 1.1.2.55 done
然后,该工具通过cvs update -r 1.1.2.56
在已经签出特定代码分支的工作目录中发出命令从cvs获取文件.
如果工作目录中存在现有版本的AFile.java,则此命令可正常工作.但是当我们获得工作目录中没有版本的文件的跟踪时,该命令无法获取该文件.
有办法吗?
目前尚不清楚您的最终目标是什么:将整个存储库置于所需状态(选择所选分支的修订版)或从存储库中获取单个文件以进行进一步处理.我认为是后者.
然后,您需要以下命令:
cvs checkout -r-p filename.ext > ~/tmp/filename.ext
这将转储到指定文件(或多个文件)的stdout指定版本,可以将其重定向到临时位置并进行处理.
或者您可以使用:
cvs export -r-d ~/tmp module/filename.ext
,将存储库(部分)导出到指定的目标目录.