0

我正在查看 mercurial guestrepo 扩展,但我无法真正确定它提供了什么,而不是简单地实例化彼此嵌套的存储库(即未定义为子存储库)。

唯一的优点似乎是可以在每个来宾存储库(以及它的来宾)上执行单个命令操作(例如推/拉),而不是为每个嵌套存储库单独执行。

Guestrepo 不允许“主机存储库”跟踪在来宾存储库中进行的任何本地更改,这可能导致“主机存储库”和本地修改的来宾存储库之间的代码状态不一致。

我是否正确理解了此扩展的范围?此扩展的用例是什么。在这一点上,文档对我来说太抽象了。

4

1 回答 1

0

我无法真正确定它在简单地实例化彼此嵌套的存储库(即未定义为子存储库)时究竟提供了什么。

  1. 您错过了重点-guestrepos 不仅仅是“嵌套存储库”,它们由父存储库以与子存储库相同的样式进行跟踪
  2. Guestrepo 比 subrepos 更像是“配置管理”(反过来,它更像是“结构管理”,而不是其他任何东西)
  3. 简而言之,Guestrepo 是“Subverpos on steroids”

Guestrepo 不允许“主机存储库”跟踪访客存储库中所做的任何本地更改

错误的。您只需要监视更改并仅在需要时手动进行,而不是在 subrepo 中提交任何内容时,这与 vanilla subrepo (阅读hg grstate|hg grfreeze命令)相反 - 这是预期的行为 - guestrepo (再次)更多的是关于监视配置,而不是状态(即,guestrepos 中的任何更改在未获批准之前都是无关紧要的) - 类似于 Subvervsion 中的 PEG-ed externals (guestrepo) 与非 PEG-ed (subrepo),如果您了解我在说什么(而 guestrepo 可以,如果需要,请同时使用这两种样式 - .hgguestrepo 中的 cset-id 可以是符号名称/随时间变化的不同 csets/,而不仅仅是哈希)

我是否正确理解了此扩展的范围?抱歉不行。更准确地说:几乎完全错误

于 2016-03-22T05:38:24.373 回答