Mercurial 子存​​储库

标签 mercurial shared-libraries subrepos

教程看了很多遍,总觉得还是漏了点什么。 我将尝试给出一个具体的场景。请帮我找到我在哪里 错误的。

假设我有一个每个人都认为是“中心”的存储库。这个 意味着每个新开发人员都从它克隆并从中拉取/推送到它。 Central 包含三个文件夹-

  • Infra(即将成为共享代码)
  • .hg
    • infra.txt
  • 开发人员1
    • dev1.txt
    • .hgsub(其中有一行 --> infra = (path of infra) )
    • 基础设施(子仓库)
      • .hg
      • infra.txt
  • 开发人员2
    • dev2.txt
    • .hgsub(与 dev 1 相同 - infra = (path to infra) )
    • 基础设施(子仓库)
      • .hg
      • infra.txt

现在,假设一位开发人员克隆了 dev1,而另一位开发人员克隆了 dev2。 我看到的是,当 dev1 的开发人员更改基础设施并推送 中央存储库的更改,dev2 开发人员知道的唯一方式 关于 infra 中的更改是手动搜索传入的更改集 infra 作为子存储库。一般来说,这意味着如果我的项目有很多 子存储库(它们本身可能包含更多子存储库), 我无法知道这些变化,除了检查我的 手动子存储库。

我认为这不是工作的方式...... 谁能帮忙?

提前致谢

埃亚尔

最佳答案

我想我找到了更好的东西。 在检查存储库中的传入变更集时,您可以使用 --subrepos 标志。

这将递归地搜索传入的变更集,并向我们展示可以拉取变更集的子存储库。

这样一来,就可以控制更改了哪些子存储库,以及她是否想要在这些子存储库中获取最新的文件。

关于Mercurial 子存​​储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5271051/

相关文章:

c++ - 重新编译 libiconv,在已经成功安装后出现 gettext undefined symbol

mercurial - Hg 子存储库依赖项

mercurial - Teamcity 忽略了 Mercurial 不同分支的变化

visual-studio-2010 - Redmine + Mercurial + Visual Studio 2010

mercurial - 如何解决错误消息“中止:未找到存储库默认推送!在Mercurial中?

git - 我可以让 hg log 以相反的顺序打印历史记录吗?

android - 如何使用Android中的库所使用的库

shared-libraries - 如何使用自动工具在64位平台上创建32位共享库

mercurial - 将子存储库与 bitbucket 和 ToritoiseHg 结合使用

Mercurial hg 子存储库问题 - "abort: unknown revision'