Commit Briefs

Thomas Adam

move got_errors[] table into a single compilation unit (error.c)

ok stsp


Thomas Adam

augment patch progress callback with hunks info; recover from errors

Augment got_patch_progress_cb by providing the hunks that were applied with offset (or that failed) and the recoverable error encountered during the operation (bad status, missing file, ...) got_patch now proceeds when a file fails to be patched and exits with GOT_ERR_PATCH_FAILED if no other errors are encountered. While here, also add a test for the 'hunk applied with offset' case and shrink test_patch_dont_apply and illegal_status by taking advantage that 'got patch' doesn't stop at the first error. (And add some other cases to illegal_status too.) discussed with and ok stsp@


Thomas Adam

refactor apply_patch to support renaming files

add two helper functions (schedule_add, schedule_del) and move the guts of apply_patch into a new function `patch_file'. This simplifies apply_patch and makes easier to figure out what happens. Then, drop GOT_ERR_PATCH_PATHS_DIFFER since we allow the to rename files.



Thomas Adam

improve error message due to malformed `author' in got.conf

tweak and ok stsp@



Thomas Adam

for portability, handle errno variations upon open(2) failure with O_NOFOLLOW

Problem pointed out by naddy for FreeBSD -portable. Discussed with millert, thomas adam, and naddy.


Thomas Adam

add a 'got merge' command for creating merge commits

Additional testing by Thomas Adam. ok tracey


Thomas Adam

portable: initial Linux compilation

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


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

handle pack index files which lack a corresponding pack file

ok millert



Stefan Sperling

add got_error_fmt()

got_error_fmt() could eventually replace got_error_path() which has already been used to construct errors with strings that are not actually paths... ok millert@


Stefan Sperling

add got_error_from_errno_fmt() for more flexibility in error messages

suggested by and ok millert


Stefan Sperling

detect unknown repository format extensions (such as sha256 format)

ok millert


Stefan Sperling

add got.conf(5) configuration file

ok tracey



Tracey Emery

get a parser in place for the future inclusion of gotconfig to git repos

this is for got push and got fetch, primarily ok stsp



Stefan Sperling

normalize tree entry modes to 0100644 or 0100755 when writing tree objects

semarie@ reported an error from go-git used by Cirrus CI: "57243613255d758e15b0f5ae1c960b970f0435f8: malformed mode (0100640)!" 'git fsck' has no problem with mode 0100640. But writing just the two most commonly used file modes should provide the best compatibility.