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 byp
orf
- 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.jjui
To install the latest released (or pre-released) version:
go install github.com/idursun/jjui/cmd/jjui@latest
You 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.