Been wanting to play with Jujutsu for a while, but its default log display with its console graphics and unicode glyphs is not as accessible as it could be.
Thankfully it's very configurable. I tweaked the default log templates to shorten change IDs to their minimal unique lengths, shortest 1, so changes can be identified by a single character in some cases. I also replaced the unicode graphics for the graph display with Graphviz so you see things like q -> py for commits with single parents or q -> {py, x} for children of merge commits with multiple parents. Now the log display looks like this, from jj's official repo with some empty changes I added to test:
q -> w nolan@thewordnerd.info 2025-12-09 09:00:18 5
(empty) New branch2
py -> w nolan@thewordnerd.info 2025-12-09 09:00:18 2
(empty) New branch1
@ w -> pt nolan@thewordnerd.info 2025-12-09 09:00:18 a88d
(empty) (no description set)
pt -> nwqx 45661989+xtqqczze@users.noreply.github.com 2025-12-08 18:58:53 main git_head() a88b
(immutable) docs: fix MD031 markdown lintThe jurry's still out as to whether I'll use this regularly--doesn't support LFS, submodules, or hooks yet--but I'm glad to have it. Been looking for things to post about on a relaunched blog so this may be the inaugural post.
miki
in reply to Nolan Darilek • • •Nolan Darilek
in reply to miki • • •jj logor do the graphs/unicode characters not affect you? Screen reader user here.miki
in reply to Nolan Darilek • • •I usually find it somewhat understandable, when I don't, I can usually figure out how to get what I want via some cursed revset query.
Worst case scenario, `jj help -k revsets | llm 'How do I...' does the job.
Your template is definitely something I could see myself using though. I thought about raising an issue with them and asking for a "screen reader mode" (this is really something terminals should do natively, but I've said that enough tinmes already).