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.
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.
You can use d
to show the diff of the each highlighted file.
You can use s
to split the revision based on the files you have selected. You can select by pressing space
. If no file is selected, currently highlighted file will be split.
You can use r
to restore the selected file (i.e. discard the changes).
You can edit or update description of a revision.
You can abandon a revision.
You can move bookmarks to the revision you selected.
You can split revisions.
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.
You can see diffs of revisions.
Additionally,
- Create a new revision
- Edit a revision
- Git push/fetch
- Undo last change
You can install jjui
using nix from the unstable channel.
nix-env -iA nixpkgs.jjui
You can build jjui
from source.
git clone https://github.com/idursun/jjui.git
cd jjui
go install cmd/jjui/main.go
go install github.com/idursun/jjui/cmd/jjui@latest
You can download pre-built binaries from the releases page.
It's compatible with jj v0.21+.
Feel free to submit a pull request.