Commits


fix 'got fetch' downloading too many objects in some cases Always announce all local references to the server when fetching changes. We used to do this only in mirror mode. In regular mode only refs/tags and refs/remotes/origin were announced, which could result in unnecessary downloads if relevant objects exist in refs/heads or elsewhere.


got_sha1_digest_to_str() writes to char * ok stsp


fix unsigned/signed char mismatch in parse.y ok stsp


match the unsigned char type used by the zlib interface ok stsp


show commit progress output when 'got merge -c' is used Otherwise no progress output is shown at all with this command. Commit progress output will also display any additional changes which resulted from conflict resolution. ok millert@


portable: tog: add back _XOPEN_SOURCE_EXTENDED As with OpenBSD, FreeBSD requires that _XOPEN_SOURCE_EXTENDED is defined before including <ncurses.h>, otherwise things break. On other systems (Linux), _XOPEN_SOURCE_EXTENDED is already defined, so leaving that declared unconditionally throws an error. Keep the definition, but only include it on !Linux systems. Issue reported by Christian "naddy" Weisgerber


gotadmin: fixed GOT_LIBEXECDIR path libexecdir should be used over bindir. Noticed by Christian "naddy" Weisgerber


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


implement 'got merge -n' which interrupts before creating a merge commit


make it possible to merge vendor branches with 'got merge'


portability: fix typos Fix some typos. From Christian "naddy" Weisgerber


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.


allow bad symlinks to survive a merge Commands which perform merges will now install bad symlinks as symlinks in the work tree, instead of creating them as regular files. This means bad symlinks committed with 'got commit -S' (or Git) will be preserved. The decision to introduce a bad symlink is done at commit-time and merges should not forcefully reverse this decision. The cherrypick and backout commands require a manual commit step, and a merge result with bad symlinks will require use of 'got commit -S'. Additional testing by thomas adam


Github: add mechanism to autoclose prs The GitHub repository is read-only and exists so that CI can be run. We do not want PRs to be issued against the repository, so should someone do that, the PR is closed with a friendly message pointing them to the mailing list instead.


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


whitespace fix from Omar Polo


fix some integers that had a slightly wrong type; patch by Omar Polo


add 'static' qualifier to local functions in got-read-pack; patch by Omar Polo


mark some function parameters as 'const', as they should be; patch by Omar Polo


libexec: honour libeexec path for helpers libexec is a common path which is understood by autotools, and should be honoured. Patch from Christian "naddy" Weisgerber


FreeBSD: tighten UUID check If UUID libraries are already detected, don't ignore them by then checking pkg-config, etc. Noticed by Christian "naddy" Weisgerber.


README: add for Github mirroring purposes Add a .github/README.md file so that the read-only clone of GoT on Github, which is used for CI purposes, explains the project. Also, update the README.portable vesion to patch.


Cirrus-CI: add build YAML file Cirrus-CI allows for FreeBSD builds as well as Linux.


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


fix 'got update' of an added + obstructed file When 'got update' tried to add a new file to the work tree and this file was obstructed by, say, a directory on disk, the update failed: $ got update ? new got: new: Is a directory $ And the work tree was not updated. With this commit this situation is properly detected as an obstruction and the update succeeds: $ got update ~ new Updated to refs/heads/master: c1f85b4938dc4c668a88f13df2b98a520fc077cc File paths obstructed by a non-regular file: 1 $ Extend a corresponding test case to cover this issue. ok tracey