Commits


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.


add a 'got merge' command for creating merge commits Additional testing by Thomas Adam. ok tracey


portable: initial Linux compilation This commit modifies the GoT main branch to be able to compile it under linux.


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.


display recovery steps in the lonely pack index error message


verify object ID checksums while loose objects are being accessed


handle pack index files which lack a corresponding pack file ok millert


implement gotadmin pack, indexpack, and listpack commands


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@


add got_error_from_errno_fmt() for more flexibility in error messages suggested by and ok millert


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


add got.conf(5) configuration file ok tracey


forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them


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


make 'got/tog tree' show symlink targets like 'ls -lF' does: link@ -> target


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.


don't error out if rebase sees no merged paths; elide the commit instead


add support for fetching arbitrary references to 'got clone' and 'got fetch'


fetch only HEAD branch and tags by default; add -a option to fetch everything


implement 'got fetch'


convert readn and readpkt to struct got_error


move new errors codes to end of error code list


make protocol dial helpers return struct got_error style errors


Add initial support for network protocol. Ported from git9 by Ori Bernstein.


fix histedit 'rebase commit ID mismatch' error when splitting a commit Commit IDs on histedit's temporary branch can change arbitrarily because the user may create new commits on this branch while editing past commits. So there is no point in trying to verify these IDs like we do during rebase. Add a test case which demonstrates the problem.