【问题标题】:Timestamp-based automatic merge in MercurialMercurial 中基于时间戳的自动合并
【发布时间】:2014-04-24 08:29:06
【问题描述】:

我想将 Mercurial 用于基于电子邮件的同步系统(请参阅 this question)。

我玩过来回发送捆绑包并将它们应用到要同步的存储库。但我经常遇到必须手动解决的合并冲突。

但它们可以很容易地自动解决:我只想用新文件替换旧文件。

是否可以在 Mercurial 中设置一个完全这样做的合并工具:当我 hg pull 一个捆绑包时,它会更新到具有较新时间戳的文件?

【问题讨论】:

    标签: merge mercurial timestamp


    【解决方案1】:
    1. 当您在存储库中拉取或解绑新的变更集时,不得与并行完成(您只会获得新的头部) - 我不明白为什么您可以在拉取时合并(未提交本地更改?在拉取之前提交!)
    2. 如果您的合并冲突出现在合并头上(当您在拉取后将本地头合并到提示中时)并且您希望拥有 冲突文件 的提示版本并放弃本地更改,您可以使用合并 @ 987654322@选项
    3. 如果您更喜欢虚拟合并,即放弃所有文件中的所有本地更改,您可以使用 Mercurial wiki 中的 this trick

    【讨论】:

    • 他是对的,这些是你的选择。我想告诉你,你可以在合并时使用自定义的[merge-tools] 来检查时间戳,但我认为接收用于比较的文件是临时文件,无论如何都不要保留原始时间戳。
    • 感谢您的信息,但我不希望 所有 本地文件被放弃,而是在时间戳较新时复制外部文件,而本地文件当其时间戳较新时保留。
    • @halloleo - 捆绑包不包含包含的变更集中文件的时间戳,您必须重新考虑政策
    • 啊哈,就是这样!这意味着我对基于 hg 的同步机制的整个想法不能像这样工作......谢谢大家!
    猜你喜欢
    • 2021-03-28
    • 1970-01-01
    • 2016-04-25
    • 2022-08-16
    • 2021-10-04
    • 2019-08-01
    • 1970-01-01
    • 2016-10-09
    相关资源
    最近更新 更多