9

我试图从过去使用 CVS 管理的一堆文件中恢复一些旧的源代码(纯文本)。我有一个目录,其中包含 CVS 的 *,v 文件格式的所有源代码文件。这看起来很像原始文件,但里面有很多 CVS 特定的头文件和修订信息。

有没有一种简单的方法可以删除所有 CVS 内容并保留文件的最新版本?

4

6 回答 6

17

你甚至不需要使用 CVS。CVS 只是 RCS 的前端,而 *.v 文件实际上是 RCS 文件。只需检查一下即可。例如,如果你有 foo,v 只需执行:

合富

它会从 ,v 文件中检出 foo

于 2010-02-15T18:36:31.143 回答
7

是的,安装 CVS 客户端,将环境变量 CVSROOT 设置为指向存储库的根目录,然后键入cvs checkout dirwheredir是存储库中的顶级目录。

如果由于某种原因您只有单个,v文件,它们是rcs格式的,因此如果rcs安装了该程序,它应该能够从任何,v文件中获取最新版本。

于 2010-02-15T18:28:04.250 回答
6

最新的 windows 二进制文件可以在这里找到:

https://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/

例如:将您的存储库文件放在这里:c:\cvs(如 c:\cvs\PROJECT create c:\cvs\CVSROOT

在此处创建 c:\work 保存 cvs.exe

跑:

cvs -d c:\cvs checkout PROJECT
于 2016-08-18T13:59:35.547 回答
0

尝试设置 CVS 客户端并将您的文件作为本地 CVS 存储库读取。

于 2010-02-15T18:16:15.270 回答
0

根据您的平台,您可能会发现 rcs 运行良好,只要您一次只查看几个文件。在许多 Unix/Linux 系统上,如果我没记错的话,您可以直接从命令行使用 co(checkout)命令。

或者您可以利用 CVS 和 rcs 将文件的最新版本存储在文件顶部附近的事实,并且任何其他修订都是通过在内部应用差异来创建的。因此,您可能可以使用文本编辑器轻松删除最新版本,并可能使用 perl 脚本将其自动化。此技巧不适用于任何其他版本。

这些是在快速安装 CVS 服务器(如果尚未安装;它们往往与类 Unix 系统一起提供)和签出时出现问题的选项。

于 2010-02-15T18:36:00.677 回答
0

这通常发生在有人签入、更新文件和您访问目录/文件时。

这对我有用 - 只需关闭终端并打开一个新的 one.foo,v 文件将消失并显示正确的文件。

于 2020-05-07T06:34:43.653 回答