Commit Briefs

Thomas Adam

portability: fix typos

Fix some typos. From Christian "naddy" Weisgerber


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

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


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.


Thomas Adam

match printf specifiers and (cast) types for portability

ok stsp


Thomas Adam

whitespace fix from Omar Polo





Thomas Adam

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


Thomas Adam

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.


Thomas Adam

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.


Thomas Adam

Cirrus-CI: add build YAML file

Cirrus-CI allows for FreeBSD builds as well as Linux.


Thomas Adam

portable: add FreeBSD support

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


Thomas Adam

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


Thomas Adam

stop using the term 'obstructed' ambiguously in the got.1 man page

Specifically, obstructed files are versioned files which should be on disk but have been replaced on disk by a non-regular file (e.g. by a directory). The man page used the phrase "deletion was obstructed" which is unrelated to the above concept and can be expressed as "deletion was prevented" instead.


Thomas Adam

stop caring about obstructed versioned files in 'got merge'

Tyring to write a test to cover this case I found that obstructed files are (correctly) detected as local modifications in the work tree. Thus they trigger the pre-condition check for local modications and 'got merge' will not even start to do any work in the presence of obstructed files.




Thomas Adam

add a 'got merge' command for creating merge commits

Additional testing by Thomas Adam. ok tracey


Thomas Adam

show parent commit IDs of merge commits in the tog diff view

ok tracey




Thomas Adam

manpages: install .5 to correct location

When installing man pages, split out .1 and .5 as they install to different paths.


Thomas Adam

compat: Makefile: add missing trailing backslash

The uuid.c source file was missing a trailing backslash.