Commit Briefs

Thomas Adam

tog: make patience the default diff algorithm

As discussed on IRC. It makes nicer diffs and the performance hit should only be noticeable with the odd large diff. It might also be a motivator in trying to speed up the patience implementation. 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: add support for commit keywords

Allow keywords as arguments to options and operands for the blame, diff, log, and tree commands. Also, return 1 when exiting tog with error rather than 0 so regress can discern success from failure. ok stsp@


Thomas Adam

tog: add horizontal scroll support to the tree view

Suggested by op. tog now supports hscroll in all views so move corresponding keymap docs in tog(1) to global space (this was already the case in tog runtime help). While here, remove some copypasta with a new subroutine to handle hscroll input. ok op@ and stsp@


Thomas Adam

sort ENVIRONMENT entries in got.1 and tog.1

ok jamsek


Thomas Adam

tog: add mutt-like =/* keymaps as home/end aliases

Also, separate g/G from home/end in the manual and runtime help text as only the former accept a prefixed count modifier. Based on initial diff from Mikhail. ok stsp@


Thomas Adam

make 'tog log' display the committer handle by default, '@' switches to author

People coming from CVS might not expect names of patch contributers to show up in commit history listings, so make things easy for them. discussed with op@



Thomas Adam

sync usage with reality

The -h and -V/--version flags must be given before the command; with those flags the command is actually optional, but don't over-complicate the usage string with these nitpicks. ok/improvements stsp@



Thomas Adam

tog: implement runtime help accessible via H,F1 keymaps

Original idea inspired from discussion with tb, tobhe, and stsp at g2k22: display view-specific help, with option to toggle display of full key map reference when {H,F1} is pressed again inside the help view. Includes improvements suggested by stsp. ok stsp@


Thomas Adam

tog: add new log view limit feature to filter commits

Use the & key map to enter a pattern with which to limit the displayed commits to those matching the provided pattern; similar to less(1) and mutt's limit feature. Includes various tweaks from op. ok plus fixes from op@


Thomas Adam

use Xo/Xc in the man pages

Patch by Josiah Frentsos; ok kn@


Thomas Adam

Group options in accordance with style(9)

patch by Josiah Frentsos


Thomas Adam

tog: keymaps to jump to next/prev file/hunk in the diff

Add () and {} key maps to navigate to the previous and next file or hunk in the diff. This required changing Got's diff API to collect line type metadata in addition to the line offsets already produced as prompted by stsp. ok stsp@


Thomas Adam

tog: add n{G,g} key map to jump to line n like less(1)

Available to all views; for example, 99g will navigate to line 99 in the file if in a blame view or the 99th commit if in a log view. Includes improvements suggested by naddy and stsp. ok naddy@


Thomas Adam

tog: uppercase alpha key maps that open new views

ok stsp@


Thomas Adam

tog: blame view keymap to open log of annotated line

As per stsp's TODO item: open a log view of the selected line with 'L'. helped by and ok stsp@


Thomas Adam

tog: alias J and K to > and < keybindings for diff view

Use J and K to move to the next and previous commits, respectively, when the diff is loaded from the log or blame views. Patch by Mikhail ok stsp@


Thomas Adam

tog: add key to toggle author/committer in log view

improvements and ok by jamsek and stsp





Thomas Adam

tog: enable moving to prev/next blame line in diff view

Blame/diff view counterpart of log/diff <,.> key maps to traverse commits corresponding to each line of the annotated file from the diff view. Includes fix from stsp@ to work while the file is still annotating. ok stsp@


Thomas Adam

tog: make 'S' switch split mode irrespective of the view

Always switch internal split state and redraw view according to the constraints of the new mode. suggested by and ok stsp@