Commit Briefs

98670ba726 Thomas Adam

portable: rework SHA detection

Simply the SHA detection by not predicating on libcrypto, but instead checking individual header files.


4680f70435 Thomas Adam

portable: remove sha1.h; found portably

Remove sha1.h as this is found portably across systems.


588a8092bc Thomas Adam

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>




345f650943 Thomas Adam

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.



8b925c6ccd Thomas Adam

portable: add back sys/queue.h

Now that the handling of including sys/queue.h is better, there's no need to remove those lines from the source. Copy the location of those original sys/queue.h lines from upstream at the same line number, so as to avoid any conflicts in the future.


1077ec6a6f Thomas Adam

portable: look for sha1.h portably

Remove the include from lib/delta_cache.c



eadd2d4623 Thomas Adam

portable: delta_cache: remove includes

Remove those includes which are searched for portably.



7c7a66bd97 Thomas Adam

fix build with -DGOT_NO_OBJ_CACHE

ok stsp



a5061f770a Thomas Adam

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@


92a9e85d28 Thomas Adam

portable: add FreeBSD support

This adds the capability to compile got-portable on FreeBSD.


dd038bc6ec Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.


5aa813935b Stefan Sperling

add copyright year for files already touched in 2020


fa7a529ed4 Stefan Sperling

disable delta cache in GOT_NO_OBJ_CACHE builds


c3b318d03e Stefan Sperling

add debug stats to delta cache


ab2f42e760 Stefan Sperling

cache delta data buffers in an LRU cache