Commit Briefs
portable: add libbsd to README
This adds libbsd to the README files to indicate a core dependency. Originally from Ashish SHUKLA.
portable: set next version
Bump the version in git now to the next version. Over time, this should really use the SHA1 to indicate a non-released build.
Release 0.69 (tags/0.69)
got patch: allow to reverse a patch
add a flag to got_patch to reverse a patch before applying and the -R flag for `got patch'. ok stsp@
got-read-patch: preserve all \ lines
as a cheap optimization got-read-patch was sending only the "\ No newline at end of file" lines that follows an addition (a "+" line). To be able to reverse patches in the future got_patch needs to know about all of these lines instead. No functional changes intended. ok stsp@
test `got patch' vs path-prefixes, relative paths and strip
reminded by and 'looks fine' to stsp@
got patch: resolve paths from the current working directory
this allow to apply patches from subdirectories of the work tree root. Prodded by naddy@, ok stsp@.
portable: freebsd: portably include sha1
The SHA implementation is found portably across systems, so don't include sha1.h directly.
portable: CI (linux): add libbsd-dev
This needs to be explicitly installed.
portable: portably #include siphash.h
Now that siphash is being looked for in a portable way, don't assume <siphash.h> as this is most likely not going to be the case on non-BSD systems.
portable: add siphash implementation
Siphash is being used in place of murmurhash for object-id set as this is faster. However, this isn't really seen much in the non-BSD userspace, so provide an implementation for it portably, if one isn't found.
inline struct got_object_id in struct got_object_qid
Saves us from doing a malloc/free call for every item on the list. ok op@
reimplement object-ID set data structure on top of a hash table
Siphash suggested by jrick as a better alternative to murmurhash for this use case. with small fixes from and ok op@
portable: alpine: install bsd-compat-headers
Apline doesn't like the use of cdefs.h
CI: add alpine linux
Add Alpine Linux to the list of CI checks. Alpine builds against muscl rather than glibc by default, and there's been a few compilation differenes to warrant having this distribution as a separate CI check.