Version 0.5 of package Vc-Jj has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Vc-Jj describes itself as: ================================================= VC backend for the Jujutsu version control system ================================================= More at https://elpa.gnu.org/packages/vc-jj.html ## Summary: 1 jj (Jujutsu) integration with Emacs vc.el and project.el ══════════════════════════════════════════════════════════ Support for Emacs built-in [`vc.el'] and [`project.el'] for the [Jujutsu] version control system. <file:screenshots/screenshot-1.png> [`vc.el'] <https://www.gnu.org/software/emacs/manual/html_node/emacs/Version-Control.html> [`project.el'] <https://www.gnu.org/software/emacs/manual/html_node/emacs/Projects.html> [Jujutsu] <https://github.com/jj-vcs/jj> 1.1 Installation ──────────────── This package is distributed via GNU Elpa (<https://elpa.gnu.org/packages/vc-jj.html>) and can be installed via `M-x package-install'. 1.2 Usage ───────── ## Recent NEWS: 1 Recent changes ════════════════ 1.1 Unreleased ────────────── 1.1.1 Added ╌╌╌╌╌╌╌╌╌╌╌ 1.1.2 Changed ╌╌╌╌╌╌╌╌╌╌╌╌╌ 1.1.3 Removed ╌╌╌╌╌╌╌╌╌╌╌╌╌ 1.1.4 Fixed ╌╌╌╌╌╌╌╌╌╌╌ 1.2 [0.5] - 2025-12-21 ────────────────────── [0.5] <https://codeberg.org/emacs-jj-vc/vc-jj.el/compare/v0.4...v0.5> 1.2.1 Added ╌╌╌╌╌╌╌╌╌╌╌ • Added support for `vc-region-history'. Note that this requires the repository to be co-located since we call `vc-git-region-history', but repositories are co-located by default since jujutsu 0.34. • Added `vc-jj-clone', making it possible to run `vc-clone'. • Define a new face: `vc-jj-log-view-commit'. This is the face used for commit IDs in JJ Log View buffers. • Define a new face: `vc-jj-log-view-bookmark'. This is the face used for bookmark names in JJ Log View buffers. • In the JJ Log View buffer: • Fontify conflict indicators (`vc-conflict-state') • Fontify commit IDs (`vc-jj-log-view-commit') • Fontify bookmark names (`vc-jj-log-view-bookmark') • New user option: `vc-jj-root-log-format'. `vc-jj-root-log-format' controls the format and fontification of the Log View buffer created from `vc-print-root-log'. • Added functionality for `vc-print-log' (the "long" revision log format). 1.2.2 Changed ╌╌╌╌╌╌╌╌╌╌╌╌╌ • Commands specific to vc-jj in the JJ Log View buffer have been renamed to have a "vc-jj-log-view-" prefix. • Only abandon a change with `vc-jj-log-view-abandon-change' once the user confirms their decision. • Bookmark operations in the JJ Log View buffer (e.g., `vc-jj-log-view-bookmark-delete', `vc-jj-log-view-abandon-change') no longer prompt to confirm reverting the parent buffer (`vc-parent-buffer') when `auto-revert-mode' is already enabled in that buffer. • In Emacs 30.1 and newer, reverting a JJ Log View buffer will, when possible, keep point on the same revision as before the revert. To undo this, add a function to `vc-jj-log-view-mode-hook' that removes `vc-jj-log-view-restore-position' from the local value of `revert-buffer-restore-functions'. 1.2.3 Fixed ╌╌╌╌╌╌╌╌╌╌╌ • Fixed `vc-jj-diff' not transforming filenames into jj fileset syntax. This fixes commands like `vc-diff' and `log-view-diff' among others. • Fixed a bug related to vc-jj's integration with project.el in cases where a git repo is located within a subdirectory of a jj repo. Previously, when inside the git repo, project.el would erroneously detect the jj repo to be current one (instead of the git repo, which is closer). Now, project.el correctly detects the closer git repo. • `vc-jj-bookmark-delete' now properly recognizes the names of local bookmarks that are pushable to a remote. • Prevent the possibility of operating on the wrong revisions when in stale JJ Log View buffers (Log View buffers that are not up-to-date with the repository). • Show the correct diff in log-edit buffers created by `log-view-modify-change-comment'. • Fix `vc-diff' in files whose revision has multiple parents. 1.3 [0.4] - 2025-09-03 ────────────────────── [0.4] <https://codeberg.org/emacs-jj-vc/vc-jj.el/compare/v0.3...v0.4> 1.3.1 Added ╌╌╌╌╌╌╌╌╌╌╌ • Added `vc-jj-retrieve-tag', which makes it possible to use vc commands like `vc-switch-branch', which are implemented on top of `vc-retrieve-tag'. • Added `vc-jj-create-tag', which implements the vc.el create-tag method. This makes it possible to use vc commands like `vc-create-branch', which call `vc-create-tag'. • Added several commands to manipulate bookmarks in `vc-jj-log-view-mode': `vc-jj-bookmark-set', `vc-jj-bookmark-delete', and `vc-jj-bookmark-rename'. These have bindings under the "b" prefix key in `vc-jj-log-view-mode': `vc' buffers. • Added list of other jj support packages for Emacs to the documentation – not everyone is looking for vc integration :) 1.3.2 Fixed ╌╌╌╌╌╌╌╌╌╌╌ • vc-jj now does not prevent non-vc Emacs operations (dired, editing files) in a corrupted jj repository. Blocking this was never intended, but was a consequence of letting errors escape from `vc-jj-dir-status-files'. • Properly handle cases where directory file paths are passed to vc-jj's `vc-jj--filename-to-fileset', which vc-jj uses to transform file names into forms adhering to jj's fileset language. Now, … …
