Commits
- Commit:
283939fb8245f1600227fa1cde3c5623666fac8d
- From:
- Lucas Gabriel Vuotto <lucas@sexy.is>
- Via:
- Omar Polo <op@omarpolo.com>
- Date:
replace date, strftime %G-%m-%d with %F
Use the more predictable %F, aka %Y-%m-%d, instead of %G-%m-%d. %G
follows the definition of ISO-8601 week-based year, which is weird.
In particular, 2024 is one of such years with weird behaviour:
$ date -jf %Y-%m-%d +"%F %G-%m-%d" 2024-12-30
2024-12-30 2025-12-30
Diff from Lucas Gabriel Vuotto (thanks!); stsp agrees
- Commit:
98297eed5b9082b66f6397a0921c8d90df72cca1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
rename got_commit_graph_iter_start() to got_commit_graph_bfsort()
This function begins a breadth-first traversal. The new name makes
it easier to distinguish from got_commit_graph_toposort().
- Commit:
65d7451409bf603e3c302b7d0ce999f7ce542508
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
ensure tmp file is closed and fix UB in diff error path
As reported by op, we fail to close a tmp file in some diff failure case. Also
spotted by op and stsp, set FILE pointer to NULL after fclose(3) failure so we
no longer attempt to access the stream or close it again in close_diff_view().
fix plus ok op@ and stsp@
- Commit:
9fe0899b90726c84f4aa0837580eccef58e48631
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
plug leak of commit object in 'tog diff' error path
tweaked by + ok op@
- Commit:
80f4db877f17489d336a0a87b79e2fed2bf1567f
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: plug object id leak in diff view; ok op@
- Commit:
6d6b14e9865b826da892895d09519588459b67ad
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: plug commit object leak in 'tog tree'; ok op@
- Commit:
9093afe0fa5f6e52a64c1b4bfbf369d0a1ac3dfd
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: plug colors memleak in log view; ok op@
- Commit:
39ccd01728db4a4cd45f03fdb4e8bfe7a8c16b0a
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'tog diff' release the work tree lock earlier
Avoids 'work tree is already locked' errors from got commands while
the 'tog diff' command remains running.
- Commit:
2e2450f50c41d866e20dec2ad4d9eafa3c19f2ba
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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@
- Commit:
f641a70732592218d24ad7e4033aa717a7572816
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: add basic regress for log limit and log search
This required minor changes to tog.c to teach tog the new test instructions
and feed it search terms when driven by the harness. More is needed for these
features but this provides some basic coverage for the & and / log keymaps.
ok stsp
- Commit:
c15576d6457ced2ac30752e2823f0ec6d744a696
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
plug line_offsets leak in tog blame view; ok op@
- Commit:
e31c89e9729d162ca5e015962b45923263d1eee1
- From:
- Mikhail <mp39590@gmail.com>
- Via:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: don't show the base commit marker in limit view
The limit commit queue is invariably filled with different commits to the
queue containing all commits, so the index of the work tree's base commit in
the real queue corresponds to a different commit in the limit queue. As such,
the marker is drawn on an incorrect commit. Rather than fix this to draw the
marker on the correct commit if it happens to be in the limit queue, don't
draw the marker at all in limit view. As pointed out by Mikhail on the list,
this information is not wanted in the limit view. Patch and report by Mikhail.
- Commit:
2e76d8a7c48df35fbab843656f1c604c999ed71f
- From:
- Mikhail <mp39590@gmail.com>
- Via:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: fix log view search infinite loop
When the current matched and selected entry is the last loaded commit,
we keep looping the same code path because search_entry is always NULL.
Before poking the log thread for more commits, set search_entry to the
currently selected commit, which is where the search resumes.
Patch by Mikhail
- Commit:
7c67cf56d3e4bab38eebe16a51f0ffb790694738
- From:
- Mark Jamsek <mark@jamsek.dev>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix occasional test failure in test_log_show_base_commit
Patch by jamsek with a request to commit. Thanks!
- Commit:
48bfa43b34c38fcf5e33c1e63dbe5dbd8c5865ce
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
prevent ncurses signal handlers from being installed while using mock-io
Aborting tog regress with Ctrl-C would trigger a "tty" pledge violation
via the built-in ncurses handler for SIGINT, installed by newterm().
Install tog's own signal handlers earlier to fix this.
- Commit:
cdbfe5d2325bd7ae7a197ce5e7a93fcdba9097cb
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add cancellation support to the mixed-commits checker in worktree.c
- Commit:
99301cec42290cd26b9757c17eaaab5d70781bf1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
load tog's worktree base commit marker in the log thread for startup speed
Walking the whole file index can take some time. Avoid delaying the perceived
start-up time of tog by reading the file index in the background log thread.
Problem pointed out by op@
with fixes from + ok jamsek
- Commit:
9e0b562498af93589bef778858099a8a1a33e252
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: change base commit marker to the commit colour
The marker annotates the commit, so it makes more sense to visually tie it
to the log message than the author. Patch by stsp, I just removed a block.
ok stsp@
- Commit:
6ed9ffec8b7318ac6f69a138854afefc48bca2c0
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: plug leak in cmd_log() error path
ok op@
- Commit:
c935fd512b9937ffefdd248a3a840d0530011a1e
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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@
- Commit:
c4df265ebabf6993a1c217bb2bb59d5aeb3fe5e5
- From:
- Mark Jamsek <mark@jamsek.dev>
- Date:
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@
- Commit:
df6221c7df42758252c508006201c3f66e6ae831
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
use a separate .cvg meta data directory for cvg(1) work trees
This prevents mixing the use of got and cvg clients in the same work tree.
Avoids confusion going forward while cvg differentiates itself further.
tog(1) and gotadmin(1) remain compatible with both work tree formats.
These tools only read work trees to locate the corresponding repository.
- Commit:
6efe6ea96a3b926e024566b15a6c0bb9f5ce0c79
- From:
- Josiah Frentsos <jfrent@tilde.team>
- Via:
- Mark Jamsek <mark@jamsek.dev>
- Date:
tog: fix double-free in blame view error path
open_diff_view() has already called view_close() on error.
Patch by Josiah Frentsos.
- Commit:
eef262f386912f13169c1d74b77732bce4524cfd
- From:
- Tracey Emery <tracey@traceyemery.net>
- Date:
Fix for cc1: warnings being treated as errors
/home/got/src/got/tog/tog.c: In function 'draw_tree_entries':
/home/got/src/got/tog/tog.c:7307: warning: comparisons like X<=3DY<=3DZ do =
not have their mathematical meaning
- Commit:
39c864a48b9d156c8b748725f5f89b3bd3f65038
- From:
- Omar Polo <op@omarpolo.com>
- Date:
avoid strlen in for(;;)
ok jamsek, stsp