Commits


replace got_repo_get_gitconfig_extensions with got_repo_has_extension got_repo_get_gitconfig_extensions is only used in gotadmin to check if the preciousObjects extension is active; let's replace it with a function that just checks whether a certain extension is active. It simplifies future changes to the extensions handling. ok stsp@


got: minor refactor of got_pathlist_free() API Accept flag parameter to optionally specify which pointers to free. This saves callers looping through the list to free pointers. ok + fix stsp@


sort getopt() option lists and switch statements; patch by Josiah Frentsos


sync usage with reality The -h and -V/--version flags must be given before the command; with those flags the command is actually optional, but don't over-complicate the usage string with these nitpicks. ok/improvements stsp@


add gotadmin init -b <branch> to specify repo head ref Similar to `git init -b`. Includes a change to `got import` behaviour such that "main" is no longer hardcoded by default; instead, we import to the branch resolved via the repository's HEAD reference unless `got import -b` is used, and only if HEAD cannot be resolved to a branch do we fallback to "main". includes fix plus ok from stsp@


remove trailing whitespace; patch by Josiah Frentsos


Group options in accordance with style(9) patch by Josiah Frentsos


portable: add back sys/queue.h Now that the handling of including sys/queue.h is better, there's no need to remove those lines from the source. Copy the location of those original sys/queue.h lines from upstream at the same line number, so as to avoid any conflicts in the future.


move 'got init' command to 'gotadmin init' This functionality is better suited for gotadmin because it is technically a server-side repository operation when we consider the 'got' tool as the client-side tool. I have plans to move 'got import' into gotadmin as well. ok op@


revert "clear the rest of the pack_fds pointers" There is no need to clear local variables before returning from a function. ok tracey


clear the rest of the pack_fds pointers


move got_opentempfd out of got_repo_open. ok stsp@ thanks for all the help massaging this diff


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


add -q to "gotadmin pack" usage


add a -q (quiet) option to 'gotadmin pack'


print additional progress information while packing ok op@


const-ify command and option tables ok stsp


shrink the width of formatted output fields to their expected size Replace FMT_SCALED_STRSIZE with (FMT_SCALED_STRSIZE - 2) as field width when formatting output for printing. FMT_SCALED_STRSIZE includes space for a nul byte and a minus sign. Output values are expected to be always positive here. ok stsp


let gotadmin find the repository automatically if invoked in a work tree Move a small amount of code from worktree.c to a new file worktree_open.c, which contains everything required to open and close a work tree and inspect some of its basic parameters. This can be used by gotadmin. ok tracey


make 'gotadmin indexpack' unveil the repository read/write, not read-only


add missing calls to got_repo_close() in gotadmin.c


match printf specifiers and (cast) types for portability ok stsp


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


enable gotadmin Add gotadmin to configure.ac, etc., so it can be built and installed. OK thomas.adam


make 'gotadmin info' display separate send/fetch URLs if they differ