Commits


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


add 'got send' command for sending changes to remote repositories Known to work against git-daemon and github Git server implementations. Tests by abieber, naddy, jrick, and myself. Man page additions reviewed by Lucas.


don't scan pack index offsets for large values if pack file is < 2GB This saves an iteration over the entire h->offsets array when opening a pack index which should not contain large offsets in the first place. ok millert@


verify object ID checksums while loose objects are being accessed


switch from SIMPLEQ to equivalent STAILQ macros The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp


raw object size should not include the length of the object's header This way, the size of a raw object is the same regardless of whether the object was found in a loose object file or in a pack file.


fix wrong function name in error message; pointed out by Mikolaj Kucharski


ignore SIGWINCH while polling in the main process Avoids an error where tog(1) would exit with "poll: Interrupted system call" while the terminal window was being resized. ok millert


implement raw object data access; this will be required for packing


make close(2) failure checks consistent; check 'close() == -1' everywhere ok millert, naddy


add a 'reference' directive to remote repositories in got.conf(5) Make use of this in 'got clone' to persist -R option arguments given on the command line in the cloned repository's got.conf(5) file.


add a 'fetch-all-branches' configuration setting to got.conf(5) Set fetch-all-branches in the got.conf(5) file created by 'got clone -a' in order to make a future 'got fetch' act like 'got fetch -a' by default.


use size_t for loop indices to avoid signedness warnings; from emaste@freebsd


detect unknown repository format extensions (such as sha256 format) ok millert


indentation fixes


add "branch" keyword to got.conf which specifies a list of branches to fetch ok tracey


send gitconfig imsg string values the same way as gotconfig ones are sent


follow-up to be96c417: Do not assume a \0 when receiving GOTCONFIG_STR_VAL.


Stop including <sys/syslimits.h> directly. POSIX says the limits defined there are available from <limits.h>, which almost all affected source files already included anyway. ok millert stsp


zap trailing tabs


add got.conf(5) configuration file ok tracey


do not rely on <zlib.h> to pull in <unistd.h> ok stsp