I've read online that once the files in a merge exceed a certain threshold, git automatically does a binary diff instead of a textual one. As a result, we lose the functionality of line-by-line resolution, even if the diff itself is quite small.
I have a ~1.3 GB CSV file that is supposed to represent a database, and it seems as if this is just over this large file threshold, according to this link. I'm currently trying to benchmark Git's conflict detection algorithm, so I would need the textual diff algorithm to run on this file.
Is there a way to increase the size threshold for automatically doing a binary diff instead of a textual one? I have already tried
git config --global --add core.bigFileThreshold 2g
but that seems not to help. I think it doesn't help because from what I understand, this only sets an upper bound on the size of file eligible for a textual diff, but having a file size less than core.bigFileThreshold
doesn't guarantee it won't treat it as binary.
As your link mentions, Git uses xdiff for text diffing, and
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.
so the answer to
Is there a way to increase the size threshold for automatically doing a binary diff instead of a textual one?
would seem to be "no."