【问题标题】:Mercurial managing multiple repositoriesMercurial 管理多个存储库
【发布时间】:2011-06-13 06:17:09
【问题描述】:

我们有一个存储库myproject - 由于该存储库即将发布,我们正在创建myproject-1_0。版本 2 开发将在 myproject 中继续,而小的调整和错误修复将在 myproject-1_0 中进行。将myproject-1_0 更改合并为myproject 的最佳方法是什么?

这是最好的方法吗:

$ cd myproject
$ hg pull ../myproject-1_0
$ hg merge
$ hg commit -m 'Merge bugfix from 1.0 branch'
$ hg push

?

如果我们在 2 月 1 日进行合并,然后在 myproject-1_0 中进行更多更改,会发生什么情况?我们是否会再次按照这些步骤操作,hg pull ../myproject-1_0 只会在 2 月 1 日拉动之后拉动变更集?

myproject 存储库中,有没有办法执行hg log 并确定哪些变更集来自myproject-1_0,哪些来自myproject

对于这种通用方法还有其他建议吗?

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    按顺序提问:

    • 这是最好的方法吗? - ,除非您想使用命名分支并将所有内容保存在一个存储库中
    • 是否会在 2 月 1 日拉取后完成变更集? - 是的
    • 有没有办法执行hg log 并确定哪些变更集来自myproject-1_0? - 没有

    不幸的是,除非您开始使用命名分支,否则源自另一个存储库的变更集看起来与您的主存储库中的变更集没有什么不同。

    【讨论】:

    • @Marcus:如果您决定选择 named branches(第三个问题是 yes),您可能需要阅读 @Marcus 987654321@.
    • @Oben,是的,如果您想使用命名分支,这似乎是一个很好的工作流程。
    【解决方案2】:

    这就是 Mercurial 的设计目的

    我建议看看http://www.hginit.com。但是您要问的是,当您拉动更改时,它是否只会拉动自上次拉动以来的更改,是的。但是,您无法分辨出哪些变更集来自不同的克隆,只有用户名会在您正在考虑的想法中被跟踪。

    如果您想知道事情的来源,您可以在提交消息中执行此操作。

    【讨论】:

    • 关于 hginit.com 的好建议 - 很棒的教程
    猜你喜欢
    • 2011-11-16
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 2011-12-20
    • 1970-01-01
    • 2010-10-27
    • 2011-02-21
    相关资源
    最近更新 更多