jjui is a terminal user interface for working with Jujutsu version control system. I have built it according to my own needs and will keep adding new features as I need them. I am open to feature requests and contributions.
Currently, you can:
You can change revset while enjoying auto-complete and signature help while typing.
You can rebase a revision or a branch onto another revision in the revision tree.
See Rebase for detailed information.
You can squash revisions into one revision, by pressing S. The following revision will be automatically selected. However, you can change the selection by using j and k.
Pressing l (as in going right into details of a revision) will open the details view of the revision you selected.
In this mode, you can:
- Split selected files using
s - Restore selected files using
r - View diffs of the highlighted by pressing
d
For detailed information, see Details wiki page.
You can move bookmarks to the revision you selected.
You can open the preview window by pressing p. Preview window displays output of the jj show command of the selected revision. If the currenlty selected item is a file, then jj diff output is displayed.
While the preview window is showing, you can press; ctrl+n to scroll one line down, ctrl+p to scroll one line up, ctrl+n to scroll half page down, ctrl+u to scroll half page up.
Additionally, you can press tab to focus in and out of the preview window. Once in the focus mode, you can use normal (e.g. j, k, d, u) navigation keys as they are not bound to the revision tree view.
For detailed information, see Preview wiki page.
Additionally,
- View the diff of a revision by pressing
d. - Edit description of a revision by pressing
D - Create a new revision by pressing
n - Split a revision by pressing
s. - Abandon a revision by pressing
a. - Edit a revision by pressing
e - Git push/fetch by pressing
g, followed byporf - Undo last change by pressing
u - Show evolog of a revision by pressing
O
See configuration section in the wiki.
You can install jjui using nix from the unstable channel.
nix-env -iA nixpkgs.jjuiTo install the latest released (or pre-released) version:
go install github.com/idursun/jjui/cmd/jjui@latestTo install the latest commit from main:
go install github.com/idursun/jjui/cmd/jjui@HEADTo install the latest commit from main bypassing local cache:
GOPROXY=direct go install github.com/idursun/jjui/cmd/jjui@HEADYou can build jjui from source.
git clone https://github.com/idursun/jjui.git
cd jjui
go install ./...You can download pre-built binaries from the releases page.
It's compatible with jj v0.21+.
Feel free to submit a pull request.





