Commits


const-ify string table


don't `goto done' if calloc fails otherwise we call got_repo_close with repo being NULL and segfault there. ok stsp


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@


make got_repo_match_object_id_prefix() reject overlong input strings suggested by + ok naddy


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.


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@


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.


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


wrap overlong lines


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


use a bloom filter to avoid pointless pack index searches


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


cache raw objects in order to speed up gotadmin pack


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


use a bloom filter to avoid pointless pack index searches


fix pack index cache element rotation; keep often used entries near the front


display the requested object type when an object could not be found ok millert@


make got_repo_match_object_id() filter tags by the requested object type Potentially this function could return objects of a type that was not requested. Problem found by code inspection. This change does not affect any of our existing tests.


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


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


indentation fixes


provide separate send {} and fetch {} configuration blocks in got.conf Feature requested by naddy. ok naddy, who also suggested some tweaks that will arrive shortly