Commits


always show commit or tree IDs in diff header, in order to help 'got patch' The idea is that got patch can simply look for a line such as: commit - abcde1234567... to find the merge base commit ID to show in diff3 conflict markers. got log -p now displays commit IDs in its diff header, instead ofl tree or blob IDs. ok op@


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.


new test: `got diff' on files matched by an ignore pattern


regress: make test operands POSIX compliant Since the interpreter for the regress shell scripts are using /bin/sh this will usually imply some level of POSIX compliance (that isn't bash-specific, for instance). Some systems use dash as their sh shell and as such is stricter POSIX compliance. To help -portable, make the shell test checks use a single '=' for equality, rather than '=='.


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@


implement 'got diff -c' for diffing commits with optional filtering by path Need for filtering by path sugggested by kn@ ok naddy@


add support for multiple path arguments to 'got diff' positive feedback from Omar and kn ok kn


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


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


replace echo with printf, stop option processing with "--" for portability ok stsp


consistently label removed files as "/dev/null" in diff headers


handle binary files in got/tog diff commands; add -a options to force text


add a test for diffing binary files; got diff behaves like 'diff -a'


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


add a -q option to tests for quiet output and use it for 'make regress' Previous default output remains when test cases are run individually. ok tracey