【问题标题】:How to prevent git from automatically doing a binary diff on large files?如何防止 git 自动对大文件进行二进制差异?
【发布时间】:2020-12-23 16:52:52
【问题描述】:

我在网上读到,一旦合并中的文件超过某个阈值,git 会自动进行二进制差异而不是文本差异。结果,我们失去了逐行解析的功能,即使差异本身非常小。

根据link,我有一个大约 1.3 GB 的 CSV 文件,它应该代表一个数据库,看起来好像刚刚超过这个大文件阈值。我目前正在尝试对 Git 的冲突检测算法进行基准测试,因此我需要在此文件上运行文本差异算法。

有没有办法增加自动执行二进制差异而不是文本差异的大小阈值?我已经试过了

git config --global --add core.bigFileThreshold 2g

但这似乎无济于事。我认为这无济于事,因为据我了解,这仅设置了符合文本差异的文件大小的上限,但文件大小小于core.bigFileThreshold 并不能保证它不会处理它作为二进制。

【问题讨论】:

    标签: git git-merge git-diff git-config


    【解决方案1】:

    正如您的链接所提到的,Git 使用 xdiff 进行文本比较,并且

    1GB 限制是代码无法处理的硬限制;我们的选择是 要么生成二进制差异,要么死亡。

    所以答案

    有没有办法增加自动进行二进制差异而不是文本差异的大小阈值?

    似乎是“不”。

    【讨论】:

    • 很公平。感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 2016-11-13
    • 2021-12-05
    • 1970-01-01
    • 2014-06-25
    相关资源
    最近更新 更多