【问题标题】:Recovering files from archive of CVS *,v files从 CVS *,v 文件的存档中恢复文件
【发布时间】:2011-01-17 02:23:54
【问题描述】:

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

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

【问题讨论】:

    标签: unix scripting cvs recovery


    【解决方案1】:

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

    合富

    它会从 ,v 文件中检出 foo

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

        创建 c:\work 将 cvs.exe 保存在这里

        运行:

        cvs -d c:\cvs checkout PROJECT
        

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

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

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

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

            【讨论】:

              【解决方案6】:

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

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2010-10-28
                • 2010-09-17
                • 1970-01-01
                • 1970-01-01
                • 2013-03-20
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多