Commit Briefs

Thomas Adam

portable: freebsd: portably include sha1

The SHA implementation is found portably across systems, so don't include sha1.h directly.


Thomas Adam

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@


Thomas Adam

pass an already open commit object to the blame callback

ok op@


Thomas Adam

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@


Thomas Adam

portable: include support for MacOS

This adds support for MacOS (Monteray onward, although should work on older MacOSes). The BSD wrapper for poll/ppoll has been lifted from the work the folks over at OpenSSH have done -- thanks!


Thomas Adam

const-ify command and option tables

ok stsp


Thomas Adam

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


Thomas Adam

show rebase and histedit backups in tog ref view

ok naddy


Thomas Adam

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


Thomas Adam

make tog searches start from the current position in all views

ok naddy@


Thomas Adam

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

ok naddy tracey


Thomas Adam

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.





Thomas Adam

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

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


Thomas Adam

portable: tog: add back _XOPEN_SOURCE_EXTENDED

As with OpenBSD, FreeBSD requires that _XOPEN_SOURCE_EXTENDED is defined before including <ncurses.h>, otherwise things break. On other systems (Linux), _XOPEN_SOURCE_EXTENDED is already defined, so leaving that declared unconditionally throws an error. Keep the definition, but only include it on !Linux systems. Issue reported by Christian "naddy" Weisgerber


Thomas Adam

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

ok tracey


Thomas Adam

tog: make blame view work

Fix the thread comparison with tog's blame view.


Thomas Adam

ncurses: only look for widechar version

When checking for ncurses, only check against the widechar version of the library, otherwise the code won't work correctly, despite it compiling properly. Helped by Thomas Dickey.


Thomas Adam

portable: initial Linux compilation

This commit modifies the GoT main branch to be able to compile it under linux.


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