Commit Briefs



7cd528337b Thomas Adam

move got_opentempfd out of got_repo_open. ok stsp@

thanks for all the help massaging this diff


9394843506 Thomas Adam

properly swap cached struct pack array elements in got_repo_cache_pack()

Avoids clobbering open files for delta base/accumulation, leaking file descriptors, and triggering errors from close(2) during got_repo_close() as we try to close the same file descriptor more than once.


cf032c44a2 Thomas Adam

ensure that all open basefd/accumfd get closed in got_repo_close()

found by tracey


bfb5ee0b73 Thomas Adam

open temporary files needed for delta application in got_repo_open()

This prepares for callers of got_repo_open() that cannot afford to open files in /tmp, such as gotwebd. In a follow-up change, we could ask such callers to pass in the required amount of open temporary files. One consequence is that got_repo_open() now requires the "cpath" pledge promise. Add the "cpath" promise to affected callers and remove it once the repository has been opened. ok tracey


ec242592d3 Thomas Adam

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@


d224ad3311 Thomas Adam

const-ify string table


58cbcd83c9 Thomas Adam

don't `goto done' if calloc fails

otherwise we call got_repo_close with repo being NULL and segfault there. ok stsp


de47d040c7 Thomas Adam

cache a list of known pack index files when the repository is opened

Avoids overhead due to readdir calls while searching a pack index. ok op@


70e6418ec5 Thomas Adam

make got_repo_match_object_id_prefix() reject overlong input strings

suggested by + ok naddy


9d70a0bf72 Thomas Adam

portable: make UUID includes generic

Move the detection of UUID header files to be included portably. This will have no functional effect until MacOS detection is put in place.


e2752401e9 Thomas Adam

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@


9389bcf69b Thomas Adam

portable: fix use of d->namlen

As done elsewhere, d->namlen is not a portable field from readdir, therefore simualte this via the strlen of the directory name instead.


f9c2e8e5d5 Thomas Adam

reuse existing deltas when creating pack files

tested by thomas, naddy, and myself


48b4f23903 Thomas Adam

wrap overlong lines


fc63f50d9b Thomas Adam

add O_CLOEXEC (close-on-exec) to openat(2) calls

suggested by millert ok thomas_adam


0634062147 Thomas Adam

add O_CLOEXEC (close-on-exec) flag to open(2) calls

suggested by millert ok thomas_adam


7df0b8563d Thomas Adam

portable: tree/queue header fixes

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




b347007e16 Thomas Adam

portable: update to handle bloom, etc

Update portable to support changes for bloom, etc.


8ab9215ce4 Thomas Adam

cache raw objects in order to speed up gotadmin pack