Commit Briefs
include sha2.h too where sha1.h is included
In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>
reduce delta cache size to avoid running out of memory on large pack files
As reported by Jerome Kasper, got-index-pack would run out of memory while cloning projects like LLVM or the Linux kernel. The delta cache was pushed to its maximum size limit of ~2GB, which is much higher than the default user data limit on OpenBSD. Set the delta cache size limits to values which should result in the cache limiting itself to 128MB or less.
convert delta cache to a hash table
This approach uses more memory but is much faster. To offset the additional memory usage somewhat the cache now stores very small deltas only. However, overall memory usage goes up. Hopefully we will find a way to reduce this later. ok op@