A TUI for the Jujutsu version control system
Press ? to show the help. (commands are different between graph and files view).
Arrows or hjkl to navigate windows/items
Space to select/deselect revisions (multi-select in graph view)
Enter to widen the diff and scroll through it
commitingrebasinggit pushing and pulling- Adding, moving and deleting
bookmarks squashing andsplitting commitsspacecan be used to select multiple commits for copying, rebasing etc, starting anew commit on top of etc
spacecan be used to select files tocommit seperately ormove to different commit- Files and be sent to
Next orPrevious commits
filter by any revest you like
List of graph commands:
linux: Grab the latest release. It's statically linked and should work on any linux machine.
mac: Grab a prebuild. Let me know if you have any issues as I can't test on a mac.
To open a shell with jj_tui on nix: nix shell github:faldor20/jj_tui
The jujutsu CLI (minimum version 0.30.0) I haven't tested on windows or Mac. I believe it won't work outside Unix so Windows users will currently have to use wsl.
You can make a config.yaml config file in the following directories to customize key inputs
linux: $XDG_CONFIG_HOME/jj_tui/
macos: ~/Library/preferences/jj_tui/
See ./jj_tui/lib/key_map.ml for a spec for the keymap and ./jj_tui/lib/config.ml for the config
The keymap config lets you fully customize all the commands and their sub menus as well as remap the arrow keys.
Eg:
key_map:
remap:
h: "left"
j: "down"
k: "up"
l: "right"
graph:
#Simple mapping from key to command_id
p: prev
#Command sub menu
s:
title: "Squash"
sub:
# sub menu command
s: "squash_into_parent"
# If the terminal is smaller than this width, the UI will change to a single pane view
single_pane_width_threshold: 110
# Sets the limit to how many commits are ever rendered in jj_tui. Usefull for not slowing down too much when viewing 'all()' revest.
max_commits: 100For a full list of commands ids see jj_tui/bin/graph_commands.ml and jj_tui/bin/file_commands.ml
linux: $XDG_STATE_HOME/jj_tui/
macos: ~/Library/logs/jj_tui/
Can be built with nix nix build or open a nix shell with nix develop
For non-nix the project is currently not setup to build with dune or opam. Sorry, I'll get there one day.

