我有一个部分CVS仓库 – 主仓库中的一个子文件夹的副本,我想做一个头结账。 我试过直接这样做:
$ cvs -d /path/B2MEj/ co B2MEj cvs [checkout aborted]: /path/B2MEj/CVSROOT: No such file or directory
我的副本不包含CVSROOT(因为它是原始存储库根目录的子目录,我假设)。
我怎样才能得到这个文件夹中的最新版本的文件的清晰shapshot? 我不在乎保留任何版本历史,因为这是对我的单向提取。
如果没有CVSROOT,cvs完全不知道文件夹中的内容,因为所有的文件和版本信息都在一个CVSROOT目录中。
你要做的就是使用RCS来分别提取每个,v文件的最新版本,它应该在bash中使用类似下面的内容:
for fn in *,v; do co ${fn%,v} done
由于RCS的co命令需要原来的文件名,所以我们必须find所有的,v文件,并运行文件名减去v。
完成之后,您必须从v文件中挑选代码。
似乎所有必要的信息都包含在我的部分存储库中的v文件和Attic目录中。 关键是用cvs -d /workingdir init简单地创build一个空的CVS根目录,然后将原始(部分)存储库文件夹复制到workingdir 。 在这一点上,一个简单的cvs -d /workingdir co B2MEj (或者你的项目名字是什么)将完成全部结账。