Commit Briefs

Thomas Adam

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



Thomas Adam

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@


Thomas Adam

fix occasional test failure in test_log_show_base_commit

Patch by jamsek with a request to commit. Thanks!


Thomas Adam

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.



Thomas Adam

rename a few pop_id to pop_idx

leftover from 79c49d8454.


Thomas Adam

fix some non-idiomatic calls of the cancellation callback

This callback could return any error code. Do not mask all such errors as cancellation.



Thomas Adam

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@


Thomas Adam

load tog's worktree base commit marker in the log thread for startup speed

Walking the whole file index can take some time. Avoid delaying the perceived start-up time of tog by reading the file index in the background log thread. Problem pointed out by op@ with fixes from + ok jamsek



Thomas Adam

tog: change base commit marker to the commit colour

The marker annotates the commit, so it makes more sense to visually tie it to the log message than the author. Patch by stsp, I just removed a block. ok stsp@


Thomas Adam

tog: plug leak in cmd_log() error path

ok op@


Thomas Adam

plug got_reference leak in cmd_update()

ok op@


Thomas Adam

got: improve reporting accuracy in branch listing output

As suggested by stsp, show the out-of-date symbol for the work tree branch if it is not only out of date in relation to the branch tip but also if it contains mixed commits. Update regress and add new test to check for this case. Also, explain the mixed commit condition of * and ~ markers denoting work tree state in got(1) branch -l docs. ok stsp@


Thomas Adam

tog: show work tree base commit marker in log view

If tog is invoked in a work tree, prefix the base commit log message summary line with a '*' if the work tree is up-to-date, and with a '~' if the base commit is not up-to-date with respect to the branch tip or it contains mixed commits. While here, plug a couple worktree leaks in cmd_ref() and cmd_tree(). ok stsp@


Thomas Adam

tog regress: fix date seconds discrepancy in expected diff view

Fixes occasional test failures. Patch by jamsek


Thomas Adam

bump version number


Thomas Adam

CHANGES for 0.91


Thomas Adam

sync dist file list


Thomas Adam

CHANGES for 0.91


Thomas Adam

portable: set next version


Thomas Adam

portable: release 0.91 (tags/0.91)


Thomas Adam

portable: tog: add keyword.c