Commits


gotd, gotadmin: install packfiles and index files as 0444 gotd used 0600 (due to mkstemps(3)), gotadmin 0644; change it to 0444 since packfiles shouldn't change once created. Mirrors what git does. ok stsp@


use mkstemps(3) instead of mkstemp(3) for opening named temporary files Allows 'got commit' to use a ".diff" suffix for temporary diff files. ok op@


let callers of got_pack_create() configure rate-limiting of progress reporting Needed by future gotd(8), where progress reports will be sent to a network socket, rather than a local terminal.


move got_opentempfd() call out of got_pack_create() Future gotd(8) needs to run got_pack_create() in a chroot environment, so we can no longer open new temporary files inside got_pack_create(). ok op@


make got_pack_create() write to a file descriptor instead of a stdio FILE The old code required a seekable output file. This conflicts with requirements of future gotd(8), which will write pack file data to network sockets. ok op@


remove trailing whitespace; patch by Josiah Frentsos


If the first readdir() returns NULL err is uninitialized. This can't happen in practice, but llvm's scan-build doesn't know this. OK stsp


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.


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@


sort references by date for packing; newer commits should be processed first


factorize imsg_clear calls after imsg_flush failures imsg_clear frees and closes resources allocated as part of enqueueing imsgs so it's a no-op after reads. discussed with and ok stsp@


reuse existing deltas when creating pack files tested by thomas, naddy, and myself


print status output even if 'gotadmin cleanup' finds no objects to remove


fix amount of purged objects shown in gotadmin cleanup's final progress report


use time-based rate-limiting for gotadmin progress output Suggested by naddy some time ago. ok tracey


add O_CLOEXEC (close-on-exec) to openat(2) calls suggested by millert ok thomas_adam


add O_CLOEXEC (close-on-exec) flag to open(2) calls suggested by millert ok thomas_adam


portable: tree/queue header fixes sys/{tree,queue}.h are looked up via configure, and therefore are included via that mechanism.


use RB_TREE instead of STAILQ to manage packindex bloom filters; much faster


portable: update to handle bloom, etc Update portable to support changes for bloom, etc.


use RB_TREE instead of STAILQ to manage packindex bloom filters; much faster


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


enable gotadmin Add gotadmin to configure.ac, etc., so it can be built and installed. OK thomas.adam


portable: initial Linux compilation This commit modifies the GoT main branch to be able to compile it under linux.


indentation fixes