Commits


switch 'tog diff' and 'tog blame' to Myers diff for speed Make the choice of diff algorithm configurable by diff API users. The got and gotweb programs keep using Patience diffs which are prettier than Myers. But tog should be as fast as possible since it is being used interactively. If performance of Patience diff gets improved later we can consider switching tog back over to it. ok tracey jamsek


tog: fix C-d and G log view keymaps in horizontal split Account for the border so we don't scroll offscreen, and don't unset the load_all flag till all commits have been loaded so we take the correct path in log_move_cursor_down(). ok stsp@


fix fullscreen / split-screen toggle in tog ok jamsek


move more opentemp out of diffreg.c ok tracey


move remaining got_opentemp's out of blame. ok op@


tog: implement support for horizontal splitscreens Enable all main views to open primary child views in a horizontal split: log -> diff tree -> blame blame -> diff ref -> log Support is yet to be expanded to nested child views and key maps for manipulating split type and size. ok op@ and stsp@


tog: refactor log cursor movement in prep for hsplit Simplify the log input handler by moving (page)up/down and home/end logic into helper routines as we need to perform some checks on these cases when navigating the log view in horizontal splits. ok op@ and stsp@


fix split-screen issue in tog when moving focus from child view to parent view Reported by jamsek: $ tog # term wide enough to vsplit return # open commit f # fullscreen commit tab # should go to fullscreen log, but it splits the screen fix ok jamsek


fix recent regression in tog where split view was not restored after resize ok jamesk


make it possible to show just one tag with 'got tag -l' suggested by jrick ok jrick jamsek


move got_opentempfd() out of lib/diff.c again ok tracey


move got_opentempfd out of blame_open ok stsp@ jrick@


pass the correct file to fdopen(); ok tracey


fix missed dup in open_blob per stsp@


move got_opentempfd out of open_blob. ok stsp@


implement support for commit coloring in got-read-pack for speed ok op, tracey


tog: echo count prefix when entering compound key maps like less(1), echo the digits as they're typed. suggested by and ok op@ stsp@


got patch: handle git-style diffs for the 3-way merge too tweak and ok stsp@


handle blob ids without corresponding blob ids ok stsp@


build with -Wwrite-strings Throwing this into the mix for a while, we can always get rid of it again if it becomes annoying. No objections from stsp@


allow start_pack_privsep_child() to be called from outside lib/object.c


always show commit or tree IDs in diff header, in order to help 'got patch' The idea is that got patch can simply look for a line such as: commit - abcde1234567... to find the merge base commit ID to show in diff3 conflict markers. got log -p now displays commit IDs in its diff header, instead ofl tree or blob IDs. ok op@


build with -Wmissing-prototypes ok stsp@


tog: prefix mvmt keymaps with count modifier like vi(1) Enable compound commands for all movement keymaps (e.g., hjkl, bfdu). The optional prefixed count determines how many times the movement is performed; for example, '123j' (move 123 lines down) or '4f' (scroll 4 pages down). Counts are ignored if preceding non-movement and some singular movement operations (e.g., 't', 'r', 'ret', '/', '$', 'G', 'g'). ok stsp@


got patch: use status G for merged files (and document it) Suggested by stsp@. This makes possible to tell if 'got patch' used a merge-base from the repository for the 3-way merge or did a simple search/replace operation. While here update the tests to look for the 'G' status and the manpage, which was also missing the documentation for the 'C' status in got patch. ok stsp@