Commit Briefs


Thomas Adam

regress: replace "sed -i" with ed(1) for portable in-place editing

"sed -i" is fundamentally unportable. GNU and OpenBSD sed(1) treat the extension for the backup file as an optional argument and use "sed -i" for no backup file. FreeBSD sed(1) treats the extension as an obligatory argument and uses "sed -i ''" for no backup file. There is no single syntax that works for both. ok stsp op


Thomas Adam

regress: replace unportable ln -h option with rm && ln

ok stsp


Thomas Adam

have ignore patterns with trailing slashes match directories only

ok jamsek



Thomas Adam

add xfail test for 'got status' ignore patterns with a trailing slash

Patch by Lucas



Thomas Adam

drop (needless?) sleep(1) in status.sh

ok stsp



Thomas Adam

use test(1) -eq and -ne to compare integers, and reduce quoting

This brings the rest of the regression test scripts in line with patch.sh.



Thomas Adam

do not skip ignored directories in 'got status' if they contain tracked files

Fixes regression introduced by commit 41f061b2f459318f3738f59d7676efccc4beb344 where tracked files inside an ignored directory were reported as missing.


Thomas Adam

sort and de-duplicate work tree path command line arguments

This is important in cases like 'got diff file.txt file.txt' which should only show the diff for file.txt once. suggested by kn@


Thomas Adam

regress: provide a sed wrapper

In order to portably handle the difference in how 'sed -i' works between *BSD and Linux, provide a wrapper to invoke the underying system sed(1) based on which OSTYPE is in use.


Thomas Adam

regress: use gdate/gln if on *BSD

To minimise the amount of churn between the difference in date(1) and ln(n) semantics, use gdate and gln from coreutils.


Thomas Adam

regress: fix test failures using ln(1)

GNU ln uses -T instead of -h for no-target-directory. OK thomas.adam


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



Stefan Sperling

make 'got update' display the worktree's branch name upon success

ok tracey






Christian Weisgerber

switch function declarations from Korn shell to Bourne/POSIX shell syntax

ok stsp


Stefan Sperling

add -s option to 'got status' which acts as a status code filter

Advantages over using grep are that the list of codes is validated against a list of known status codes, and that it is easier to match staged files which can display status codes in one or both of two columns. Prompted by feedback from krw@