Commits


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


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