Commits


indentation fixes


use got_path_dirname() in tog's input_log_view(); avoids const dirname(3) ok naddy


do not treat the -h and -V flags as errors When run with the -h or -V option, output the help or version text to stdout and exit with success (0). Only write usage and help information to stderr and exit with error (1) if there is a mistake in the command syntax. tweak and ok stsp


prefer the BSD extension to reset getopt over the GNU one Sadly there is no portable way to reset getopt(3). BSD: optind = 1; optreset = 1; GNU: optind = 0; ok stsp


make dangling symbolic references show up in 'got ref -l' Storing a resolved ID for each reference list item was a bad idea. This ID cannot be resolved if a symbolic references points to a reference which does not exist. Such symrefs were skipped by got ref -l as a result. Just let users of reference lists resolve the IDs as needed.


Print newline to clear the bottom line when tog exits. When a curses(3)-based application exits, the cursor is positioned at the start of the bottom line, and the shell will issue the new prompt there. However, the bottom line may still contain remnants of the curses screen. This is only noticeable on terminals that do not switch to/from an alternate screen buffer. ok stsp


speed up 'tog diff' get_filestream_info() a bit With this, 'tog diff' is able to display clang 10 commits. However, such huge diffs still take a rather long time to open. get_filestream_info() is a hack. Ideally, diff line-offset information needed by tog should be part of the result of the diff operation, rather than forcing tog to calculate line offsets during a post-processing step.


simplify resource cleanup upon errors in get_filestream_info()


fix double-free when quitting tog's diff view; found by ofree at /home/stsp/src/got/tog/tog.c:3415 3415 free(s->line_offsets); (gdb) bt msg=0x80e2a4cd87e "chunk is already free %p") at /usr/src/lib/libc/stdlib/malloc.c:300 check=1) at /usr/src/lib/libc/stdlib/malloc.c:1070 clear=0, check=<optimized out>, argsz=0) at /usr/src/lib/libc/stdlib/malloc.c:1431 at /usr/src/lib/libc/stdlib/malloc.c:1488 at /home/stsp/src/got/tog/tog.c:3415 at /home/stsp/src/got/tog/tog.c:518 at /home/stsp/src/got/tog/tog.c:954 at /home/stsp/src/got/tog/tog.c:2728 at /home/stsp/src/got/tog/tog.c:5683 (gdb)


fix some memory leaks in tog


use a more precise regex for color-highlighting 'commit' lines in 'tog log'


add symlink support to 'got blame' and 'tog blame'


make 'got/tog tree' show symlink targets like 'ls -lF' does: link@ -> target


show a list of paths changed in a commit with 'got log -P', and in tog requested by matthieu@


filter out "remote/*/HEAD" references in tog log view


fix "searching..." displayed in tog log view while merely scrolling down


show 'searching...' during 'tog log' search even if no new commits are loaded


display "no matches found" if no commit matches a 'tog log' search


display "no more matches" indicator if 'tog log' search cannot find any


make 'tog log' consistently scroll one page upon page-down key (found by naddy)


Subtract the status line from the number of lines to page up/down in the log view. ok stsp@


map 'tog path' to 'tog log path' if possible; requested by mpi@


properly free cmd_argv in tog's main() function


fix typo in comment; found by mpi@


switch "tog diff" repository path argument to a new -r option