I'm looking at the Git-for-Windows(GfW) >4Gb large file problem
following Torsten and Thomas's work (and others). [1,2,3, etc.]
I've added a few more changes to my branch [2] to get the zlib to
properly count past its 32bit limit when wrapped in the git_inflate
(etc) wrapper code. [4]
At the moment I'm using an extended _test_ case that starts by adding a
~5.1Gb file and then using verify-pack, which aborts with an error.
dd if=/dev/zero of=file bs=1M count=5100 &&
git config core.compression 0 &&
git config core.looseCompression 0 &&
git add file &&
git verify-pack -s .git/objects/pack/*.pack &&
git fsck --verbose --strict --full &&
...
If however I simple execute the commands from the GfW bash, the added
file is stored as a blob object, rather than a pack.
I'm at a loss to understand the reason for the change in behaviour
[store file as pack, vs store as object] between running the code as a
test script and at the terminal. What am I missing?
I have 'good' output from the test script on the WSL (and have
identified the packs' specific byte differences), but my gdb experience
is limited so executing that test while within the test script meant I
couldn't start debugging there. Hence the direct execution from the
terminal that raised the issue.
--
Philip
[1] <20190131203842.633ztr4yckn7kl2d@tb-raspi4>
[2] https://github.com/gitgitgadget/git/pull/115#issuecomment-4753008375
[3] https://github.com/git-for-windows/git/issues/1848
[4] https://github.com/PhilipOakley/git/tree/size_t2