-2

我正在寻找一种方法来为一个文件加入两个修订历史。

我们的一个项目是通过 RCS 跟踪的。现在,这个项目存在于 CVS 中。它最初是作为一个新项目提交的。因此,CVS 历史不会显示通过 RCS 跟踪的旧版本。

例如,假设文件 foo.c 在 RCS 中修改了 10 次,然后在 CVS 中修改了 2 次。RCS 有 1.1 到 1.10 版本,CVS 有 1.1、1.2 和 1.3 版本。RCS 1.10 版和 CVS 1.1 版是相同的。

我正在尝试创建一个组合历史,以便 foo.c 显示 12 个版本,从 1.1 到 1.12。由于 CVS 以与 RCS 相同的文件格式存储修订,因此从现有的 RCS 文件开始,然后使用“ci”命令检查新的更改(保留时间戳、用户 ID 和提交消息)应该是一件简单的事情. 还需要保留任何 CVS 标签。然后,这个新的 RCS 文件将具有完整的历史记录,然后可以将其添加到 CVS 存储库中,替换旧版本。

假设此代码库中没有分支。只是直线发展。

这样的实用程序是否已经存在?

4

2 回答 2

2

如果它是单个文件并且您不必传输大量修订,您始终可以一次从旧版本控制系统中签出一个修订版本并将其提交到新版本控制系统中(大多数版本控制系统元数据可以共存于同一个目录)......当然,无论源和目标版本控制系统是什么,这种方法都有效,这就是我在遇到与您类似的问题时个人所做的。

或者您可以尝试使用Tailor工具,它可以从/转换到多个版本控制系统,尽管我真的不知道它是否也可以像您需要的那样将两个不同的历史“合并”到一个单一的历史中。

于 2009-09-02T11:39:53.307 回答
1

我刚刚编写了一个 Python 库EditRCS ( PyPi ) 来操作 RCS 文件。示例脚本 rcs_join 会将一个 RCS 文件的第一个修订版连接到另一个文件的开头,并更新分支和标签修订版。

希望这能满足您的要求(尽管现在可能为时已晚!)

于 2014-11-18T18:13:20.767 回答