Commits


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@


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@


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@


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@


sort ENVIRONMENT entries in got.1 and tog.1 ok jamsek


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@


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@


document global tog options earlier; suggested by op@


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@


improve documentation of the tog limit feature, previous doc was misleading


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@


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@


use Xo/Xc in the man pages Patch by Josiah Frentsos; ok kn@


Group options in accordance with style(9) patch by Josiah Frentsos


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@


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@


tog: uppercase alpha key maps that open new views ok stsp@


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@


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@


tog: add key to toggle author/committer in log view improvements and ok by jamsek and stsp


tog man page: Be more precise when first introducing split layout terminology.


tog man page: improve spacing with a .Pp before global key bindings


tog man page: tweak documentation of vertical/horizontal split for clarity


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@


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@