【发布时间】:2011-04-15 18:33:05
【问题描述】:
首先,我有一个非常大的 cvs 存储库,我正在尝试将其切换到 mercurial。 cvs 存储库由几个目录组成,有点像this 问题中的情况。但是,每个子目录都不是一个完整的独立项目。每个项目都使用整体的一个子集,但它们的交集不是空的。
这里有一个例子来说明:
/cvsroot
.../core
.../feature-1
.../feature-2
项目 1 使用 core 和 feature-1;项目 2 使用核心和功能 2。我不希望从事项目 2 的人在他们的工作副本中包含 feature-1 目录,因为它实际上是一组大约 30 个目录,而且空间量并不小。
有没有办法用 mercurial 轻松(或者,很好地)处理这个问题?我考虑过为交叉点使用单独的存储库,但这不是最理想的。这意味着进行额外的拉取和额外的更新,并且可能编写一堆脚本来管理它。
我的另一个选择是复制每个交叉点。但这并不好,因为它可能会导致公共代码分叉,因为不同的人在它的不同部分工作。
【问题讨论】: