Commits


got: regress for log -x keyword and log -dPp combinations Plus multiple copypasta fixes where I was cmp(1)ing stdout instead of stderr! Fortunately, we were doing the right thing despite not checking it properly. The log -dPp test is from op@. ok + tweaks op@


fix 'got log -dPp' diffstat duplication bug Only collect changed paths once if both -d and -P are specified; we already checked for -d and -p. Reported by Lucas on IRC. Regress for this and the previous (got log -x keyword) commit still due. ok stsp@ and op@


got: allow 'got log -x' to accept keywords Suggested by Lucas on IRC. ok stsp@ and op@


bump the deltify table resize step By incrementing the resize step from 64 to 256 deltifying takes less time on modestly sized files; the resize is still a small number instead of a fraction of the current table size (which would be more usual for a hash table) since this code is also used in gotd. ok stsp


use INT32_MAX rather than INT_MAX for GOT_FILEIDX_MAX_ENTRIES it's a different way to spell the same number, but it's more evocative since the on-disk format is 32 bits wide. ok stsp


speed up read_fileindex_path() Use a local buffer instead of calling reallocarray() every 8 bytes; the speed up is measurable. The downside is that we're now limited to paths long at most PATH_MAX bytes, but since this is the fileindex it's not an issue in practice. ok jamsek stsp


zap unused got_commit_object var; ok op@


allow modified files to be deleted during merges if content exists in the repo This makes histedit folding work when a file is modified by commit A and then deleted in commit B, with A being folded into B. Problem reported by naddy@


fix occasional test failure in test_log_show_base_commit Patch by jamsek with a request to commit. Thanks!


prevent ncurses signal handlers from being installed while using mock-io Aborting tog regress with Ctrl-C would trigger a "tty" pledge violation via the built-in ncurses handler for SIGINT, installed by newterm(). Install tog's own signal handlers earlier to fix this.


pass the right callback argument for check_mixed_commits


rename a few pop_id to pop_idx leftover from 79c49d8454.


fix some non-idiomatic calls of the cancellation callback This callback could return any error code. Do not mask all such errors as cancellation.


add cancellation support to the mixed-commits checker in worktree.c


regress: nix 'set -A' kshism from tests As reported by naddy, this is a non-portable Korn shell construct. Instead, use the one argument array then make faux space-delimited string "arrays" for the other ids; they can still be indexed with pop_idx. improved by + ok naddy@