Commits


fix regression test failures with Git 3.30.5 / 2.38.1 or later installed The fix for CVE-2022-39253 in Git made our regression tests fail since creating submodules from local clones is no longer allowed by default. Add an override to our invocations of "git submodule add", the same which was added to Git's regression test suite as part of their fix. This CVE doesn't otherwise affect us. We do not implement submodules. Our use of them in regression tests exists only to ensure that Got does not freak out when it sees one. Precisely because automated support for nested repositories and/or working copies (as in Git Submodules, or Subversion Externals, etc.) have been an endless source of security problems in other systems. sudden test failures pointed out by naddy@


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.


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@


Make 'got add' always require the -I option in order to add ignored files.


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


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


make 'got add' work on symlinks and let 'got status' display them


add submodule tests ok semarie


there's no need to store a directory path in struct schedule_addition_args ok tracey


Introduce -I to cmd_add to disregard ignores when adding recursively. Expand add.sh tests. Update TODO.


add -R option to 'got add' for recursive addition (patch by Tracey Emery)


use get_worktree_paths_from_argv consistently; improves add/rm edge cases Double 'got rm' becomes a no-op like double 'got add' already is, and 'got add' of an already staged file is now an error.


fix 'got revert' on files in newly added subdirectories


use cmp -s, instead of cmp, in all command line tests