Commits


unveil repositories read-only in gotd session process while serving fetches ok op@


add a lock for the cleanup operation This adds the functions got_repo_cleanup_prepare() and _complete() to lock/unlock the repository to prevent multiple `gotadmin cleanup' or `git gc' operations to run in parallel. improvements and ok stsp@


remove items done in gotwebd and gotadmin


retire GOT_ERR_QUERYSTRING it's redundant with GOT_ERR_BAD_QUERYSTRING; convert its only use to the latter.


add myself in the AUTHORs section


update cleanup -p documentation


gotadmin cleanup can remove pack files now so update CAVEATS accordingly


do not try to explain implementation internals in gotadmin cleanup docs


there is no 'got tag -d' command, but cleanup docs can mention fetch -X


reorder paragraphs in gotadmin.1 cleanup section All the special cases are now being explained last.


slightly reword documentation of .keep files in gotadmin.1 for clarity


mention rebase/histedit -X options in addition to ref -d in gotadmin.1


gotadmin cleanup: remove redundant pack files improvements and ok stsp@


regress/cmdline: fix handling of unexpected success Diff from James Cook, thanks!


gather_on_disk_refs(): skip over bad refs noticed since gotwebd fails when there's a ref.lock file due to a concurrent update. discussed with stsp.


make gotd show relevant commit hashes in error message if ref-updates collide


make gotd avoid re-writing existing ref files when a ref-update is a no-op


dropping unnecessary strlen()s ok jamsek, stsp


avoid strlen in for(;;) ok jamsek, stsp


ignore write errors to pack children while closing a repository If the child has exited for some reason then we won't be able to send a stop message on the pipe. Ignore such errors while we are tearing a repository data structure down. The error should be harmless but can trip up gotwebd when cycling repositories out of its repo cache: gotwebd[29683]: gotweb_render_index: got-portable.git: unexpected end of file


gotwebd: set chroot path in config_init() saves a bit fiddling around with ternary operators. sockets_run() will reset the chroot to the default since it calls again config_init(), but at that stage it's not important anymore. ok stsp@


change got_get_repo_tags' limit argument to size_t The function already carefully avoids wrapping around zero. While here add a sanity check for limit == 0, like what was previously done for got_get_repo_commits().


gotwebd.conf: error if chroot is the empty string


gotwebd.conf: range-check numeric values and raise errors


gotwebd.conf: disallow yes/no for booleans Supporting both "no" and "on" as valid syntax with an opposite meaning could easily result in accidental misconfiguration. Suggested by stsp, tracey agrees. Patch by Josiah Frentsos, thanks!