Commit Briefs

Stefan Sperling

inline struct got_object_id in struct got_object_qid

Saves us from doing a malloc/free call for every item on the list. ok op@


Stefan Sperling

pass an already open commit object to the blame callback

ok op@


Stefan Sperling

stop relying on commit cache for good performance of got_object_id_by_path()

Instead of internally opening and closing the same commit object over and over again, require callers to pass an open commit object in. Avoids an inherent dependency on the commit object cache for reasonable performance. ok op@


Christian Weisgerber

const-ify command and option tables

ok stsp


Omar Polo

tweak error reporting due to invalid numbers

Use the same idiom as in the strtonum(3) manpage which produces a more readable error message. OK kn, stsp


Stefan Sperling

show rebase and histedit backups in tog ref view

ok naddy


Christian Weisgerber

tog: clear search highlighting when reloading view

Clear the search highlighting when replacing the content of a diff view ('<', '>', '[', ']', 'a', 'w') or a blame view ('b', 'p', 'B'). Previously the position would remain highlighted even if the text there had changed. ok stsp@ or a blame view


Stefan Sperling

make tog searches start from the current position in all views

ok naddy@


Stefan Sperling

let new 'tog log' searches start out from the currently selected commit

ok naddy tracey


Stefan Sperling

switch tog ref view's sort order command key to "o" instead of "s"

The letter "o" does not overlap with existing options of 'got ref' and is also used by mutt(1) for this purpose.





Stefan Sperling

implement 'got diff -c' for diffing commits with optional filtering by path

Need for filtering by path sugggested by kn@ ok naddy@


Stefan Sperling

show parent commit IDs of merge commits in the tog diff view

ok tracey


Stefan Sperling

tog: use sched_yield(2) instead of pthread_yield(3) for portability

pthread_yield(3) is an optional POSIX 2001 extension while sched_yield(2) is part of POSIX 2008. On OpenBSD they are actually equivalent, albeit not documented as such. Using sched_yield(2) helps the -portable version. Patch by Quentin Rameau



Christian Weisgerber

tog: when jumping to the bottom of the log view, go from the tail backwards

ok jasper


Christian Weisgerber

tog: jump directly to first log item instead of traversing the list

ok tracey


Christian Weisgerber

tog: add support for navigating to first/last line of tree and ref views

ok stsp


Christian Weisgerber

tog: add support for navigating to first/last line of blame view

ok tracey stsp


Stefan Sperling

make tog block other keys except Backspace after End/G is pressed

This should avoid unexpected behaviour resulting from unrelated key presses messing with the log view's state variables. Pointed out by tracey, and also discussed with jasper. ok tracey



Stefan Sperling

make tog ignore Ctrl+L and B while loading all commits

Otherwise tog gets into a funky non-recoverable state if these keys are pressed instead of Backspace while commits are loading. bug found by + ok tracey


Stefan Sperling

remove the 'ctrl+u' shortcut in favour of just 'g' as alias for 'Home'

Our use of ctrl+u was not consistent with vi(1) after all. Discussed with naddy, tb, and jasper on gameoftrees@