Commits


got-read-gitconfig: send key-value pairs for extensions Most extension allow only for a boolean value so the current behaviour of just sending the extension with a trueish value is fine. However, some extensions that we could eventually support (like "objectformat") have a string value. This is a preparatory step towards that. ok stsp@


up the checkout regress ulimit to 33, to accomodate for sparc64 failing at 32. ok stsp


bump checkout_ulimit_n test file descriptor limit a bit; failure seen on arm64


use a subshell to avoid changing the global ulimit; suggested by op@


respect resource limit for number of open files when sizing the pack file cache ok op@


respect umask when creating or changing files and directories This behaviour is already documented in got-worktree(5) but wasn't actually implemented. ok stsp@


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.


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


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


make 'got checkout' display the checked out reference and commit ID ok tracey


mention 'gotadmin cleanup' wherever Git's garbage collector is mentioned


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


detect unknown repository format extensions (such as sha256 format) ok millert


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