Commits


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!


drop unused strlen; ok stsp@