【问题标题】:Condensing Mercurial revision history压缩 Mercurial 修订历史
【发布时间】:2011-05-18 14:10:59
【问题描述】:

我们有 2,700 多个修订版,当使用 TortoiseHg 进行合并、推送或其他任何操作时,加载 Mercurial 需要 30-45 秒。我想知道除了直接创建一个新的存储库来清理修订历史之外,是否还有其他方法。比如说,删掉2400左右的文件。

【问题讨论】:

  • 假设这个 GUI 是 TortoiseHg?

标签: mercurial tortoisehg


【解决方案1】:

不是您问题的答案,而是:

也许在设置中将“日志批量大小”减少到 100(默认为 500)会有所帮助。

我们的 2300+ rev 存储库在 2-3 秒内加载(在我的 15k rpm SAS 磁盘上,但没关系),所以我不认为你的问题是很多 revs,真的。那里有更大的回购。 :)

请注意,Mercurial 核心和 TortoiseHg 开发人员都热衷于查找性能错误,因此可能值得在邮件列表中寻求帮助。

【讨论】:

    【解决方案2】:

    您可以使用histedit 扩展名将多个变更集压缩为一个。对一系列修订执行 histedit 命令将生成一个如下所示的文本文档(来自 histedit 文档):

    选择 c561b4e977df 添加测试版
    选择 030b686bedc4 添加伽玛
    选择 7c2fd3b9020c 添加增量

    编辑 c561b4e977df 和 7c2fd3b9020c 之间的历史记录

    命令:
    p, 选择 = 使用提交
    e, edit = 使用提交,但停止修改
    f, fold = 使用提交,但折叠到之前的提交中
    d, drop = 从历史记录中删除提交

    将上面列表中某个变更集的 pick 更改为 fold 会将其折叠到上一个变更集中。它会让您有机会解决失败的合并并输入新的提交消息。

    警告:

    使用 histedit 将修改存储库历史记录,包括哈希 ID,这将导致问题,除非您在更改完成后使用新的存储库克隆重新启动每个开发人员。此外,您可能需要将 histedit-ing 限制为具有单个父项的变更集(即:非合并变更集)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      相关资源
      最近更新 更多