【问题标题】:Mercurial new suprepository in nested subrepository嵌套子存储库中的 Mercurial 新存储库
【发布时间】:2012-07-09 16:42:36
【问题描述】:

我不确定这是否可行,如果不可行,我们欢迎任何替代解决方案!

我有许多使用 Orchard 的解决方案 - 它要求任何模块都位于其文件夹结构内的某个目录中。我有一些模块,基于 DVCS 的强大功能,我希望能够仅使用 suprepos 重现一个新项目。并且只用 Mercurial 更新 Orchard。

我的文件夹结构如下:

Project
    - Orchard
        - Modules
            - Orchard module 1
            - Orchard module 2
    - My other code

我刚刚将果园文件复制到我的仓库,然后将我的模块添加为子仓库。

我希望能够将 Orchard 结构的其余部分也设为一个子存储库。但是我找不到在另一个子仓库中拥有一个 suprepo 的方法。它不会是嵌套的子存储库,因为在两种情况下(果园和模块)都将是我的“基础”存储库。

ie Project/.hgsub 看起来像:

Orchard = http://path/to/orchard
Orchard/Modules/Module1 = http://path/to/module1
Orchard/Modules/Module2 = http://path/to/module2

但这似乎不起作用,我找不到说明是否/如何做到这一点的文档。

任何帮助表示赞赏!

编辑:如果不清楚我没有对 Orchard 存储库的写入权限,也无法移动模块。

【问题讨论】:

  • 其实我之前回答过一个很相似的问题:stackoverflow.com/a/11324635/705048
  • 我想我知道你在说什么。还有其他解决方案吗?
  • 不,没有其他解决方案。您的最顶层文件夹不能将子存储库放置在其其他子存储库中。您唯一的选择是重新排列文件夹布局,让 Orchard not 成为子仓库或使 Module1 和 Module2 成为 Orchard(但不是 Project)的子仓库。
  • 一切都好......可惜,因为我不能轻易做到。将查看一些构建恶作剧,看看我是否可以移动模块,然后在成功构建时将它们复制到它们的位置。

标签: mercurial mercurial-subrepos


【解决方案1】:

刚刚测试了这个场景。

这是你需要做的。

在 Orchard 存储库中添加一个文件夹,将“modules”作为文件夹(在其中放置至少一个文件)。使用 .hgsub (subrepos) 提交,现在应该添加 subrepos,拉取 subrepos 并更新它们在 .hgsubstate 中的引用。

如果您有任何问题,请分享。

【讨论】:

  • 你能解释一下你在做什么吗?我不确定它在这种情况下会有所帮助
  • 将模块目录提交到 Orchard 存储库,然后再将它们添加为子存储库。然后添加它们,它应该可以工作。
猜你喜欢
  • 2011-03-05
  • 2011-11-15
  • 1970-01-01
  • 2021-04-21
  • 2019-09-11
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
相关资源
最近更新 更多