GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - 0WD0/majutsu: Majutsu! Magit for jujutsu

BranchesTags
Open more actions menu

Latest commit

 

History

853 Commits
853 Commits

Folders and files

NameName
Last commit message
Last commit date
docs
docs
 
 
test
test
 
 
.dir-locals.el
.dir-locals.el
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
LICENSE-MIT
LICENSE-MIT
 
 
NEWS.org
NEWS.org
 
 
README.org
README.org
 
 
THIRD_PARTY_NOTICES.org
THIRD_PARTY_NOTICES.org
 
 
majutsu-absorb.el
majutsu-absorb.el
 
 
majutsu-annotate.el
majutsu-annotate.el
 
 
majutsu-arrange.el
majutsu-arrange.el
 
 
majutsu-base.el
majutsu-base.el
 
 
majutsu-bookmark.el
majutsu-bookmark.el
 
 
majutsu-color-words.el
majutsu-color-words.el
 
 
majutsu-command.el
majutsu-command.el
 
 
majutsu-commit.el
majutsu-commit.el
 
 
majutsu-completion.el
majutsu-completion.el
 
 
majutsu-config.el
majutsu-config.el
 
 
majutsu-conflict.el
majutsu-conflict.el
 
 
majutsu-core.el
majutsu-core.el
 
 
majutsu-diff-editor.el
majutsu-diff-editor.el
 
 
majutsu-diff.el
majutsu-diff.el
 
 
majutsu-diffedit.el
majutsu-diffedit.el
 
 
majutsu-duplicate.el
majutsu-duplicate.el
 
 
majutsu-ediff.el
majutsu-ediff.el
 
 
majutsu-edit.el
majutsu-edit.el
 
 
majutsu-embark.el
majutsu-embark.el
 
 
majutsu-evil.el
majutsu-evil.el
 
 
majutsu-evolog.el
majutsu-evolog.el
 
 
majutsu-file-tree.el
majutsu-file-tree.el
 
 
majutsu-file.el
majutsu-file.el
 
 
majutsu-forge.el
majutsu-forge.el
 
 
majutsu-gerrit-rest.el
majutsu-gerrit-rest.el
 
 
majutsu-gerrit-upload.el
majutsu-gerrit-upload.el
 
 
majutsu-gerrit.el
majutsu-gerrit.el
 
 
majutsu-git.el
majutsu-git.el
 
 
majutsu-interactive.el
majutsu-interactive.el
 
 
majutsu-jj.el
majutsu-jj.el
 
 
majutsu-jjdescription.el
majutsu-jjdescription.el
 
 
majutsu-jjosh.el
majutsu-jjosh.el
 
 
majutsu-log.el
majutsu-log.el
 
 
majutsu-metaedit.el
majutsu-metaedit.el
 
 
majutsu-mode.el
majutsu-mode.el
 
 
majutsu-new.el
majutsu-new.el
 
 
majutsu-op.el
majutsu-op.el
 
 
majutsu-process.el
majutsu-process.el
 
 
majutsu-rebase.el
majutsu-rebase.el
 
 
majutsu-ref.el
majutsu-ref.el
 
 
majutsu-remote.el
majutsu-remote.el
 
 
majutsu-resolve.el
majutsu-resolve.el
 
 
majutsu-restore.el
majutsu-restore.el
 
 
majutsu-revert.el
majutsu-revert.el
 
 
majutsu-row.el
majutsu-row.el
 
 
majutsu-section.el
majutsu-section.el
 
 
majutsu-selection.el
majutsu-selection.el
 
 
majutsu-sign.el
majutsu-sign.el
 
 
majutsu-simplify-parents.el
majutsu-simplify-parents.el
 
 
majutsu-sparse.el
majutsu-sparse.el
 
 
majutsu-split.el
majutsu-split.el
 
 
majutsu-squash.el
majutsu-squash.el
 
 
majutsu-tag.el
majutsu-tag.el
 
 
majutsu-template.el
majutsu-template.el
 
 
majutsu-terminal-session.el
majutsu-terminal-session.el
 
 
majutsu-transient.el
majutsu-transient.el
 
 
majutsu-workspace.el
majutsu-workspace.el
 
 
majutsu.el
majutsu.el
 
 

Repository files navigation

Majutsu — Shape history without leaving Emacs

Majutsu provides a Magit-style interface for Jujutsu (jj), offering an efficient way to interact with JJ repositories from within Emacs.

Read the full manual for comprehensive documentation.

Quick Start

Installation

;; Doom Emacs (packages.el)
(package! majutsu :recipe (:host github :repo "0WD0/majutsu"))

;; use-package + straight.el
(use-package majutsu
  :straight (:host github :repo "0WD0/majutsu"))

;; use-package + package-vc (Emacs 29+)
(use-package majutsu
  :vc (:url "https://github.com/0WD0/majutsu"))

Usage

  1. Open a JJ repository: M-x majutsu (or majutsu-log)
  2. Navigate: vanilla bindings use n / p for next/previous revision; Evil uses C-j / C-k or gj / gk for section navigation. In log buffers, [ / ] jump to visible parents/children
  3. Act: RET to visit, ? for help
  4. In blob buffers, press e to enter editable mode; save applies via jj diffedit (i in Evil also enters editable mode)
  5. In blob buffers, press b to annotate; C-c m opens the blob in Magit

Optional Forge Integration

If Forge is installed, enable Majutsu integration with:

(require 'majutsu-forge)
(majutsu-forge-mode 1)

This adds Forge issue, pull-request, and discussion sections to Majutsu log buffers and binds N / ' in Majutsu buffers to forge-dispatch. The initial integration is intended for colocated jj/Git repositories, where Forge can still see a Git repository and remotes. Forge sections also depend on a configured, tracked repository and populated Forge database. Pull-request commit lists shown by Forge’s Git-oriented renderer are replaced by a placeholder in Majutsu buffers.

Optional Embark Integration

When Embark is loaded, Majutsu automatically adds actions for workspace and bookmark completion candidates. Workspace actions can visit, open in Dired, or copy the root. Bookmark actions can edit, diff, inspect evolution, move, rename, delete, or forget the selected bookmark, including exact NAME@REMOTE forget for tracked, untracked, and @git bookmarks.

Essential Keybindings

Key (Vanilla / Evil)Action
n / C-jNext revision/section
p / C-kPrevious revision/section
[Go to parent
]Go to child
RETVisit thing at point
?Show all commands
g / g rRefresh
aAbsorb
bBookmarks
cDescribe
CCommit
dDiff
EEdiff
? MText conflict workbench
eEdit change
G / ? GGit
k / xAbandon
oNew
rRebase
V / _Revert
RRestore
sSquash
SSplit
? yDuplicate
Z / *Workspaces
C-/ / uUndo
C-? / C-rRedo

Requirements

  • Emacs 29.1+
  • Jujutsu (jj) v0.41.0+
  • magit 4.4.0+, transient 0.13.0+, compat
  • consult 1.0+ and plz 0.9.1+ (Gerrit completion)
  • with-editor (pulled in via magit; message editing)

Documentation

  • User Manual - Complete guide to all features
  • NEWS - Version history and changelog
  • Third-Party Notices - Upstream adaptation and attribution map
  • Legacy MIT Notice - Retained MIT attribution text for pre-GPL code

License

  • Current: GNU GPL v3 or later
  • Historical notice: MIT notice text retained for pre-GPL distributions

Credits

Majutsu began as a fork of jj-mode.el by Brandon Olivier. It depends on and draws inspiration from Magit and wraps the Jujutsu VCS.

Contributing

Issues and pull requests welcome at https://github.com/0WD0/majutsu

About

Majutsu! Magit for jujutsu

majutsu.org

Topics

emacsjjjujutsu

Resources

Readme
Activity

Stars

287 stars

Watchers

3 watching

Forks

20 forks
Report repository

Releases

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.