test suite: why does git add large_file create a pack, rather than an object?
- Date: Sat, 30 Mar 2019 14:13:15 +0000
- From: Philip Oakley <philipoakley@xxxxxxx>
- Subject: test suite: why does git add large_file create a pack, rather than an object?
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  to get the zlib to properly count past its 32bit limit when wrapped in the git_inflate (etc) wrapper code. 
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  <20190131203842.633ztr4yckn7kl2d@tb-raspi4>  https://github.com/gitgitgadget/git/pull/115#issuecomment-4753008375  https://github.com/git-for-windows/git/issues/1848  https://github.com/PhilipOakley/git/tree/size_t2
- Prev by Date: The decision to suspend your account. Waiting for payment.
- Next by Date: [GSoC][PATCH v4 0/5] Avoid using pipes
- Previous by thread: High danger. Your account was attacked.
- Next by thread: Re: test suite: why does git add large_file create a pack, rather than an object?