Commit Briefs

Thomas Adam

portable: add FreeBSD support

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


Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.


Christian Weisgerber

indentation fixes


Stefan Sperling

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


Stefan Sperling

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.


Stefan Sperling

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@



Christian Weisgerber

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


Stefan Sperling

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.



Stefan Sperling

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



Stefan Sperling

make close(2) failure checks consistent; check 'close() == -1' everywhere

ok millert, naddy


Stefan Sperling

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.


Stefan Sperling

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.



Stefan Sperling

detect unknown repository format extensions (such as sha256 format)

ok millert


Christian Weisgerber

indentation fixes





Christian Weisgerber

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


Stefan Sperling

zap trailing tabs


Stefan Sperling

add got.conf(5) configuration file

ok tracey


Christian Weisgerber

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

ok stsp