我正在尝试从一堆以CVS进行管理的文件中恢复一些旧的源代码(纯文本)。我有一个包含所有以CVS的*,v文件格式保存的源代码文件的目录。它看起来大部分像原始文件,但是里面有相当多的CVS特定头部和修订信息。
有没有简单的方法可以剥离掉所有CVS相关内容并仅保留文件的最新版本呢?
你甚至不需要使用 cvs
。 cvs
只是一个前端工具,用于操作rcs
,而*.v
文件实际上是rcs
文件。只需将它们签出即可。例如,如果你有foo,v
文件,只需执行:
co foo
它将从*,v
文件中检出foo
是的,安装一个CVS客户端,将环境变量CVSROOT设置为指向您的存储库根目录,并键入,其中
如果由于某些原因您只有个别文件,它们以rcs格式存在,因此如果安装了rcs程序,则应能够从任何文件中获取提示修订版本。
最新的Windows二进制文件可以在这里找到:
https://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/
cvs -d c:\cvs checkout PROJECT
尝试设置CVS客户端并将文件读取为本地CVS代码库。
根据您的平台,如果您一次只查看几个文件,那么您可能会发现rcs很好用。在许多Unix/Linux系统上,如果我没记错的话,您可以直接从命令行使用co(checkout)命令。
或者您可以利用CVS和rcs将文件的最新版本存储在文件顶部附近的事实,并且任何其他修订都是通过内部应用差异来创建的。因此,您可以使用文本编辑器轻松剥离最新版本,并可能使用perl脚本自动化它。这个技巧对于任何其他版本都不起作用。
这些都是选项,以防快速安装CVS服务器存在问题(如果尚未安装;它们倾向于随Unix类似的系统一起提供)并进行检出。
这通常发生在有人进行签入、更新文件并您正在访问目录/文件时。
这对我有用-只需关闭终端并打开新的终端,foo,v文件将消失,正确的文件将显示出来。