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? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html