tij 0.3.3

Text-mode interface for Jujutsu - a TUI for jj version control
tij-0.3.3 is not a library.

Tij

Text-mode Interface for Jujutsu - A TUI for the Jujutsu version control system, inspired by tig.

Rust Crates.io

Why Tij?

Jujutsu (jj) makes Git's painful operations easy and safe. Tij brings that power to a visual interface:

Git's Pain jj's Solution Tij's UI
git stash management Always-committed working copy One-key context switching
git rebase -i complexity jj edit + auto-rebase Visual history editing
git reflog recovery jj undo / jj op log Operation history view
Commit splitting jj split Integrated diff editor
Conflicts block work Keep conflicts, continue working Visual conflict status

Installation

# From crates.io (recommended)
cargo install tij

# From source
git clone https://github.com/nakamura-shuta/tij.git
cd tij && cargo install --path .

Requirements: Rust 1.85+, Jujutsu in PATH

Quick Start

cd /path/to/jj-repo
tij

Press ? for help, q to quit.

Features

Implemented

Area Features
Views Log / Diff / Status / Help / Operation History
History Editing Describe / Edit / New / Commit / Squash / Abandon / Split
Recovery Undo / Redo / Operation Restore
Bookmarks Create / Delete (multi-select)
Usability Revset filtering / Text search / Adaptive status bar

Planned

Area Features
Views Blame View / Bookmark View
History Editing Rebase / Absorb
Safety Confirmation dialogs for destructive actions
Git Integration Fetch / Push / Conflict resolution UI
Customization Keybindings config / Themes

Revset Examples

Press r to filter commits:

all()                    # Show all commits
@-..@                    # Recent commits
author(email)            # By author
ancestors(main)          # Branch history

See jj revset docs for more.

Default Display

Tij uses jj's default revset (recent/relevant commits). To see all:

  1. Press r, type all(), Enter
  2. Or set in ~/.jjconfig.toml:
    [revsets]
    log = "all()"
    

Acknowledgments

License

MIT