Commits


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


make tog searches start from the current position in all views ok naddy@


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


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.


make tog use got_reflist_sort() instead of reloading refs while sorting them


allow sorting references by timestamp in tog


tog: add Ctrl-n/Ctrl-p shortcuts scrolling one line down/up; patch by Omar Polo


implement 'got diff -c' for diffing commits with optional filtering by path Need for filtering by path sugggested by kn@ ok naddy@


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


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


tog: document why _XOPEN_SOURCE_EXTENDED is set and don't undefine it


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


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


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


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


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


remove the 'ctrl+u' shortcut in favor of just 'g' in the diff view, too


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


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@


Allow commit loading trigged by the End/G keys to be cancelled with Backspace. ok jasper


tog: add support for navigating to first/last item of log and diff views The keybindings that we settled on are Home, Ctrl-u and g to go to the first item and End, G to go to the last. This resembles those commonly found elsewhere, eg vi/less. discussed with and ok stsp


use gmtime_r(3) instead of localtime_r(3) to display time in UTC as intended Problem noticed by naddy due to failing regress tests at midnight, and then analyzed with additional help from millert. ok naddy


fix a use-after-free in get_changed_paths() in got and tog Once the parent commit is closed the tree_id1 pointer is no longer valid, but the pointer was still being used. Make a deep copy to fix this issue.


plug a small memory leak in tog's show_diff_view() function


remove now unused variable in browse_ref_tree() I overlooked; patch by naddy