Commits


regress: use seq instead of jot This is just for -portable since jot is not always available. ok stsp@


replace "(cd path && git cmd)" with "git -C path cmd" This matches the existing use of "got -r path cmd" and "git_commit path args".


make 'got status' error out as intended when invoked in a repository


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


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


have ignore patterns with trailing slashes match directories only ok jamsek


hide unexpected diff output from xfail test


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


remove trailing whitespace; patch by Josiah Frentsos


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


redirect jot(1) output instead of looping over it; ok tb@


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.


fix 'got status' with an obstructed file given as argument; found by Omar


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.


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@


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.


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.


regress: fix test failures using ln(1) GNU ln uses -T instead of -h for no-target-directory. OK thomas.adam


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


verify that 'got status -s' and 'got status -S' cannot be used together


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


add tests for checkout -q, update -q, and status -S. ok stsp


new -I option for 'got status' to show files which match an ignore pattern


use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA


fix a bug where 'got status' showed an unchanged empty file as changed