Commit Briefs


Christian Weisgerber

fix off_t type mismatch

off_t is a signed type and depending on the platform, it can be "long" or "long long", so cast to long long for printf().




Stefan Sperling

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@


Omar Polo

change got_pack_parse_offset_delta tslen argument to size_t

The tslen argument is always in the (1..9) range so `int' is technically fine (even int8_t would be!) but all the callers are passing a size_t, so change the type accordingly. ok stsp@



Stefan Sperling

bump version number


Stefan Sperling

CHANGES for 0.77 (tags/0.77)



Stefan Sperling

sync distfile list


Stefan Sperling

avoid printing harmless errors that can occur when tog exits due to Ctrl-C

ok jamsek


Mark Jamsek

fix typo in gotsh.1

ok stsp@


Stefan Sperling

fix detection of SIGTERM in tog; this signal was accidentally being ignored

ok jamsek


Stefan Sperling

close parent's end of imsg pipe before waiting for a child process to exit

Prevents a dead-lock in 'tog log' where tog wants to exit (e.g. because the user pressed Ctrl-C) while a got-read-pack child process wants to send more commits. Closing the parent's pipe descriptor makes writes to the pipe fail in the child process. The child then unwinds via an ERR_EOF error and exits, instead of forever polling its end of the pipe in order to write more data. ok jamsek