【问题标题】:Mercurial difference between changesets and revisions变更集和修订之间的差异
【发布时间】:2015-07-08 15:39:35
【问题描述】:

我是 Mercurial 的新手,并试图了解事情是如何运作的。

我想知道变更集和修订有什么区别?

谢谢。

【问题讨论】:

  • 没有评论就否决了?非常鼓舞人心:)

标签: version-control mercurial


【解决方案1】:

无。

来自Understanding Mercurial 页面:

当你提交时,工作目录相对于它的状态 parents 被记录为一个新的 changeset(也称为新的 “修订版”)...

further down页面:

Mercurial 将对多个文件的相关更改组合成单个原子 变更集,它们是整个项目的修订

(强调我的)

【讨论】:

    【解决方案2】:

    即使老了,也可能有人会偶然发现这一点,我会说这是一个至关重要的区别。正如@Edward 指出的那样,它们是相关的。不过,基于Mercurial's FAQ,它们并不相同。

    修订号是一个简单的十进制数字,与本地存储库中的提交顺序相对应。

    重要的部分是本地存储库,更进一步:

    请务必了解,由于 Mercurial 的分布式、去中心化架构,这种排序可能会因机器而异。这就是变更集 ID 的用武之地。变更集 ID 是一个 160 位的标识符,它唯一地描述了一个变更集及其在变更历史中的位置,无论它位于哪台机器上。

    在与其他 Mercurial 用户讨论修订时,您应该始终使用某种形式的变更集 ID 而不是本地修订号,因为他们的系统上可能有不同的修订号。

    根据我的经验,修订号有时确实不同,而且不是唯一的。

    【讨论】:

    • 谢谢,这是一个需要注意的关键区别。
    猜你喜欢
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多