fetch fails with a short read of received pack
From: Alex Riesen <hidden>
Date: 2016-06-15 22:45:28
Somehow I got my gnulib mirror to a strange state where I can't fetch
anything from it:
$ cd gnulib
$ git fetch -f ../gnulib.git 'refs/heads/*:refs/remotes/origin/*'
remote: Counting objects: 2202, done.
remote: Compressing objects: 100% (633/633), done.
remote: Total 1769 (delta 1448), reused 1455 (delta 1134)
Receiving objects: 100% (1769/1769), 404.11 KiB, done.
fatal: premature end of pack file, 1745 bytes missing
fatal: index-pack failed
This is with current Shawn's master (Junio's master erroneously gives
an error). Bisect points at ac0463ed44e859c84e354cd0ae47d9b5b124e112
pack-objects: use fixup_pack_header_footer()'s validation mode
When limiting the pack size, a new header has to be written to the
pack and a new SHA1 computed. Make sure that the SHA1 of what is being
read back matches the SHA1 of what was written.
This and the diff make no sense to me (as to what could be broken).
I made both repos available at:
The source, it unpacks in gitlib.git (as in example above)
http://vin-soft.org/~ftp-tmp/gnulib-broken-src.tar.bz2
The target, where the fetch in the example is run
http://vin-soft.org/~ftp-tmp/gnulib-broken-tgt.tar.bz2
Could someone who actually understands the code please have a look?