Jujutsu VCS

Jujutsu VCS

@jj-vcs.dev

Jujutsu—a version control system #jj-vcs Documentation: https://docs.jj-vcs.dev/

1.2K followers2 following27 posts

jj workspace list now shows workspace roots by default. The output can be customized with templates.workspace_list or -T, and WorkspaceRef.root() returns an optional FsPath value.

jj absorb now lets you interactively choose which hunks from the source to consider for absorption. This is useful when you only want to absorb part of a commit without first splitting it. Any hunks that are not selected or cannot be absorbed remain in the source commit.

Added a new merge_point() revset function which (similar to fork_point) finds the point where multiple branches merge, as well as a new try(expr, fallback...) template function to suppress runtime errors.

Support for fetching and pushing tags has now been stabilized. Tags can be tracked or untracked just like bookmarks. Tracked tags are pushed by default.

jj git fetch now rebases the descendants of revisions that were rewritten based on their change IDs. Previously, when multiple bookmarked revisions existed in a stack, those rewritten revisions and their descendants wouldn't always be rebased. Note that immutable descendants will not be rebased

jj run allows you to run a command over a set of changes, each with their own private working copy; the commands may update the working copy and changes/conflicts are propagated accordingly, e.g., jj run -- cargo check --all-features or jj run --cargo fix behaves as one might expect

The new global flag `--no-integrate-operation` will let you run a command without impacting the repo state or the working copy, which is useful when automated tools may create snapshots in the background.

`jj fix` now supports line range-limited formatting via the `fix.tools.<name>.line-range-arg` and `run-tool-if-zero-line-ranges` configs. This allows running tools only on modified lines and fine-grained control over when the tool is run.

You are up to date.