Commit Briefs
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@
portable: regress: rework date command for Ubuntu
Don't rely on '-r' for date as it's not consistent across linuxses. Instead, expand the variables required and use '-d'. OK thomas@
move 'got init' command to 'gotadmin init'
This functionality is better suited for gotadmin because it is technically a server-side repository operation when we consider the 'got' tool as the client-side tool. I have plans to move 'got import' into gotadmin as well. ok op@
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@
add one-line output mode to got log with -s flag
-s for short. Moves log search to -S. Patch by Evan Silberman
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.
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 log' -R and -P options work in combination
With -R, the -P option did not show any paths. Regression test added here demonstrates the problem.
add submodule tests
ok semarie
show a list of paths changed in a commit with 'got log -P', and in tog
requested by matthieu@
fix a bug where 'got log PATH' failed to map PATH into the repository
The problem occured inside /usr/src/sys due to the /sys symlink, where /usr/src was a got work tree. If a work tree is present we already have the right path so checking the disk is pointless.