Version control 我应该如何在CVS托管的项目上工作,以(1)修复bug,(2)使用附加功能维护我自己的私有fork
问题 开源程序使用CVS进行版本控制。我想做一些bug修复,并向具有提交权限的开发人员提交补丁炸弹。我还希望维护我自己的半私有fork,它主要跟踪主代码库,但包含我自己的特性(目前,这些特性不应合并到主代码库中) 我更喜欢使用mercurial来满足我自己的版本控制需求,但如果需要的话,我愿意使用其他版本控制系统 我想:Version control 我应该如何在CVS托管的项目上工作,以(1)修复bug,(2)使用附加功能维护我自己的私有fork,version-control,mercurial,cvs,Version Control,Mercurial,Cvs,问题 开源程序使用CVS进行版本控制。我想做一些bug修复,并向具有提交权限的开发人员提交补丁炸弹。我还希望维护我自己的半私有fork,它主要跟踪主代码库,但包含我自己的特性(目前,这些特性不应合并到主代码库中) 我更喜欢使用mercurial来满足我自己的版本控制需求,但如果需要的话,我愿意使用其他版本控制系统 我想: 能够轻松地创建补丁炸弹对当前的CVS源与我自己的错误修复 根据我自己的特点记录历史 在我的新特性fork中可以轻松地合并来自主目录树的修复和改进吗 轻松地将我自己的错误修复应用
第三种回购协议是我的本地分支。它将从第一次回购的克隆开始。然后每次我更新第一份回购协议时,我都会将其拉入回购协议3。我自己的功能将在本回购协议中作为提交直接呈现。当我修复一个bug时,我将从repo 2中导出一个补丁,并将其应用到repo 1中相应的pull中。我使用Git以类似的方式管理CVS存储库顶部的更改。我在Git中的解决方案使用本地分支而不是多个存储库,但它听起来与您提出的想法基本相似 我发现,如果将所有CVS元数据(在
CVS/
子目录中)提交到镜像存储库中,这种安排效果最好。这意味着CVS元数据可以在其他存储库中复制,但不会造成任何伤害(如果需要,还可以运行类似于CVS diff
的命令)