To teach git
how to generate a human-readable diff of Bun's binary lockfile format (.lockb
), add the following to your local or global .gitattributes
file:
*.lockb binary diff=lockb
Then add the following to you local git config with:
git config diff.lockb.textconv bun
git config diff.lockb.binary true
To globally configure git to diff Bun's lockfile, add the following to your global git config with:
git config --global diff.lockb.textconv bun
git config --global diff.lockb.binary true
How this works
Why this works:
textconv
tells git to run bun on the file before diffingbinary
tells git to treat the file as binary (so it doesn't try to diff it line-by-line)
In Bun, you can execute Bun's lockfile (bun ./bun.lockb
) to generate a human-readable version of the lockfile and git diff
can then use that to generate a human-readable diff.