version-control - Mercurial 随机添加 60 多个 merge

标签 version-control mercurial merge tortoisehg

我的 mercurial 存储库发生了最奇怪的事情,我真的很担心它的完整性。

背景

我一整天都在间歇性地提交/推送没有问题,直到现在,单个提交/推送组合产生了一个警告,表明我会将新分支推送到远程位置。我猛地打开 TortoiseHg,看看我的 repo 树中到底发生了什么会导致这种情况。 (也许我不小心从 tip:-1 提交了。

打开 tortoiseHg 后,我看到了这个:

Merge Central

当然,我对此感到震惊,请注意这些 merge 发生的日期,几周和几个月前。我一直跟踪这些行回到源头,发现它们起源于我历史上几乎所有发生过 merge 的地方(以及其他几个地方)。

Origins

问题

  • 什么 本来可以 造成这个?
  • 是否有一些 hg 命令/功能是故意这样做的,还是我最有可能在看一个错误?
  • 有没有一种简单的方法可以解决这个问题,而无需从远程主机重新克隆我的存储库?

  • 我真的对这个措手不及。我今天绝对没有执行 60 多次 merge ,我很困惑。

    额外的信息

    TortoiseHG:2.0.5(Merc 1.8.4)
    操作系统:Windows7

    最佳答案

    遗憾的是,您无法看到提交日期 762:795,但我想它们与 1509:1539 分布在 4 个月的同一时期。此外,看看谁是所有这些 csets 的作者(他们都是)会很有趣

    从 762:795 的外观来看,我猜你是 2 个开发人员在协调,因为你每 5 次提交左右就有这些小的 merge 。大量 merge 可能来自您为持续集成(即自动构建)设置的第三个存储库,该存储库不在您的普通存储库中,而是您在制作 1509:1539 快照之前意外拉取的。这第三个存储库可能会在很久以前保存一些微小的更改,这导致每次推送到第三个存储库时都会发生所有这些 merge 。

    如果您想摆脱 cset,使用 -r 进行克隆是最干净的方法。 MQ strip 非常好用,特别是如果你使用 TortoiseHg,但也有点危险。

    我非常怀疑 Mercurial 会在你背后做这样的事情,但如果你需要更多帮助,你可以立即在 IRC freenode.net 上获得帮助。对于 Web 客户端,请转至 http://webchat.freenode.net . Mercurial wiki 有一些 background information about IRC .

    关于version-control - Mercurial 随机添加 60 多个 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7196511/

    相关文章:

    version-control - cvs, "file should be removed and is still there (or back again)"

    php - 可移植版本控制?

    mercurial - 系统管理员需要了解 Mercurial 的哪些信息,例如它使用哪些端口?

    R-合并两个数据框,但 ID 的值有分号

    svn - 哪个 VCS 能够保留文件时间戳?

    version-control - 待定更改 : "edit , [more]" mean? 是什么意思

    git - Git相当于 Mercurial 添加+ Mercurial 差异?

    svn - 将更改从一个 Mercurial 存储库添加到另一个

    java - 在 Android 上合并 mp4 视频文件

    python - 除了计算之外,还可以使用现有数据框选择性地构建新数据框