如何防止 git 自动对大文件执行二进制差异?
How to prevent git from automatically doing a binary diff on large files?
我在网上读到,一旦合并中的文件超过某个阈值,git 会自动执行二进制差异而不是文本差异。结果,我们失去了逐行解析的功能,即使差异本身非常小。
我有一个大约 1.3 GB 的 CSV 文件,它应该代表一个数据库,根据这个 link,它似乎刚刚超过这个大文件阈值。我目前正在尝试对 Git 的冲突检测算法进行基准测试,因此我需要此文件上 运行 的文本差异算法。
有没有办法增加自动执行二进制差异而不是文本差异的大小阈值?我已经试过了
git config --global --add core.bigFileThreshold 2g
但这似乎无济于事。我认为这无济于事,因为据我了解,这只会为符合文本差异条件的文件大小设置上限,但文件大小小于 core.bigFileThreshold
并不能保证它不会将其视为二进制。
如您的 link 所述,Git 使用 xdiff 进行文本比较,
that 1GB limit is a hard limit that the code can't cope with; our options are
either to generate a binary diff or to die.
所以
的答案
Is there a way to increase the size threshold for automatically doing a binary diff instead of a textual one?
似乎是“不”。
我在网上读到,一旦合并中的文件超过某个阈值,git 会自动执行二进制差异而不是文本差异。结果,我们失去了逐行解析的功能,即使差异本身非常小。
我有一个大约 1.3 GB 的 CSV 文件,它应该代表一个数据库,根据这个 link,它似乎刚刚超过这个大文件阈值。我目前正在尝试对 Git 的冲突检测算法进行基准测试,因此我需要此文件上 运行 的文本差异算法。
有没有办法增加自动执行二进制差异而不是文本差异的大小阈值?我已经试过了
git config --global --add core.bigFileThreshold 2g
但这似乎无济于事。我认为这无济于事,因为据我了解,这只会为符合文本差异条件的文件大小设置上限,但文件大小小于 core.bigFileThreshold
并不能保证它不会将其视为二进制。
如您的 link 所述,Git 使用 xdiff 进行文本比较,
that 1GB limit is a hard limit that the code can't cope with; our options are either to generate a binary diff or to die.
所以
的答案Is there a way to increase the size threshold for automatically doing a binary diff instead of a textual one?
似乎是“不”。