【问题标题】:Git mergetool performanceGit 合并工具性能
【发布时间】:2015-10-22 10:25:11
【问题描述】:

git mergetool 命令的性能似乎很慢,尤其是与 hg merge 相比。这是一个记录在案的问题吗?有什么方法可以加快速度吗?

在运行命令时,我们花费大量时间等待每个文件差异出现。

【问题讨论】:

  • mergetool 是 shell,所以它不会很快。也就是说,mergetool 的执行时间可能与在您选择的合并工具中实际合并冲突所花费的时间相形见绌。你用的是哪个工具?你确定你支付的不是这个工具的启动成本吗?
  • 您使用的是哪个合并工具?我的猜测是启动外部工具很慢,而不是 git 组装命令行。
  • 我们正在使用 Beyond Compare 4/bcomp.exe。
  • 类似地,使用 Beyond Compare difftool 也很慢。我们对 HG 使用相同的东西,而且速度要快得多。正如您所指出的,必须是 git 重复调用工具的方式。

标签: git git-merge mergetool


【解决方案1】:

这应该会在 Git 2.23(2019 年第三季度,五年后)得到改善,因为“git mergetool”及其测试现在产生更少子进程。

见Johannes Sixt (j6t)commit 7e6d6f7、commit 8b01465、commit e10dffd(2019 年 6 月 12 日)和commit b4a04c8(2019 年 6 月 10 日)。
(由@987654327 中的Junio C Hamano -- gitster -- 合并@,2019 年 7 月 9 日)

mergetool:使用 shell 变量魔法而不是 awk

git-mergetool 产生大量进程。

因此,测试脚本t7610 异常缓慢,尤其是在 窗户。
大多数进程都是git 的调用。还有一些可以用 shell 内置函数替换。
避免重复调用git ls-files 和awk。

【讨论】:

    猜你喜欢
    • 2018-10-06
    • 2018-01-15
    • 2020-03-20
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2010-09-30
    相关资源
    最近更新 更多