我们有一个具有多年开发历史的CVS存储库,一个项目(CVS文件夹)下有3个项目。这些应该是 Mercurial 存储库中的不同存储库。它们采用以下方案:
Project
---子项目1
---子项目2
---子项目3
- 有没有办法在 cvs2hg 过程中自动执行此操作?
- 如果不是,那么在保留历史记录的同时分离每个子项目的 Mercurial 流程是什么(如果可能)。
最好的方法是将整个存储库从 CVS 转换为 Mercurial,然后使用hg convert
命令与--filemap
将单个 Mercurial 存储库转换为多个 Mercurial 存储库(转换将从 hg 转换为 hg)。你的文件映射会显示如下内容:
include SubProject1
rename SubProject1 .
这将丢弃子项目一中不存在的所有内容,然后将子项目一移动到顶部(注意尾随点)。
如果您使用每个子项目的文件映射来运行该程序,每次都将完整的存储库作为输入,那么您最终将得到您想要的结果。
有些人已经构建了 shell 脚本来执行此操作,但如果实际上只有 3 个脚本,那么速度应该会相当快。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)