【问题标题】:Is is possible to re-integrate a sub-project and re-connect mercurial history?是否可以重新整合子项目并重新连接可变历史?
【发布时间】:2015-10-07 14:30:00
【问题描述】:

不久前,我们将一些更稳定的软件包从主应用程序中提取到单独的 mercurial 存储库中。我们以有限的方式与其他一些客户共享它们,这些客户通过工件访问它们,尽管这些外部客户通常不会打扰或需要及时了解我们的更改。 (他们落后了很多个月并且做得很好,因为只有几个接口正在交叉。)

有争议的是,拆分成单独的存储库降低了我们的效率,因为 (a) 对其他 jar 进行更改的重量更大,而且我们有时不会费心,并且 (b) 更难细读涉及两个或多个存储库更改的功能的更改集历史记录。

我们正在考虑将它们带回主存储库,但我想知道现在有什么方法可以在这样做时重新连接历史记录?理想情况下,我希望能够跟踪给定代码文件的历史,通过最近的更改、分离阶段的更改以及希望在我们将它们分开之前的更改进行。这可能吗?

【问题讨论】:

    标签: version-control mercurial


    【解决方案1】:

    我想您可以将所有单独的历史记录拉到一个存储库中(hg 会抱怨它们不相关,但如果您坚持,无论如何都会让您继续),然后正常合并它们(将它们移动到每个存储库中的单独目录中)分支,然后以某种方式将它们合并,所有分支的文件都放在一个地方),或者您可以使用转换、导出/导入和 mq 过滤历史记录,但这将很难实现。

    【讨论】:

    • 您能否进行编辑以使这些流程更加具体?我不知道如何实现它们以便试用。
    • 只需执行hg pull --force(没有--force Mercurial 将中止并出现错误unrelated repository),然后如果目录结构没有,则在每个分支中执行几个hg mv匹配,然后正常合并。
    • 这有点骇人听闻,但它会起作用,而且两个历史记录都可以从同一个存储库中访问。
    猜你喜欢
    • 1970-01-01
    • 2014-04-13
    • 2021-10-15
    • 1970-01-01
    • 2023-03-28
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多