Commit Briefs




f6764181d7 Stefan Sperling

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


f365d76274 Stefan Sperling

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.


1acd48bccb Stefan Sperling

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.




f259c4c182 Stefan Sperling

add a 'got merge' command for creating merge commits

Additional testing by Thomas Adam. ok tracey


9f98ca0596 Stefan Sperling

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

ok tracey




ad324bf53a Stefan Sperling

fix histedit_no_op test which was failing randomly

A no-op replayed history ends up having exactly the same commit IDs if all commits are created at roughly the same moment in time. There are no content changes involved so if commit timestamps do not differ then commit hashes will be the same. In which case there is no fork in history for 'got histedit -l' to display, yet the test was always expecting a fork in history to be displayed. Update the test to take this issue into account. The test will now pass no matter which result is produced by the histedit operation. Problem found by Lucas who observed that this test was randomly failing. Patch also provided by Lucas.



3da8ef855d Stefan Sperling

tog: use sched_yield(2) instead of pthread_yield(3) for portability

pthread_yield(3) is an optional POSIX 2001 extension while sched_yield(2) is part of POSIX 2008. On OpenBSD they are actually equivalent, albeit not documented as such. Using sched_yield(2) helps the -portable version. Patch by Quentin Rameau




df7dea6e70 Stefan Sperling

add -S option to 'got status' synopsis in got.1 man page


7dd7d39b1e Stefan Sperling

bump version number


4a87b3701d Stefan Sperling

CHANGES for 0.60 (tags/0.60)


67d7451ca0 Christian Weisgerber

shell code fixes

Escape sequences are not handled by every echo(1), e.g. not on FreeBSD. '?' is a glob character and must be quoted. '!' is not a shell meta character. ok tracey stsp




13364f2d81 Stefan Sperling

bump version number


47975383a2 Stefan Sperling

CHANGES for 0.59 (tags/0.59)