jj-absorb

Move changes into the appropriate ancestor commits automatically

TLDR

Absorb working copy changes into ancestor commits
$ jj absorb
Absorb only specific file paths
$ jj absorb [file1] [file2]
Absorb from a specific source revision
$ jj absorb --from [revision]
Absorb into a specific set of destination revisions
$ jj absorb --into [revset]

SYNOPSIS

jj absorb [options] [filesets...]

DESCRIPTION

jj absorb splits changes in the source revision and moves each change to the closest mutable ancestor where the corresponding lines were last modified. This is useful for fixing up a series of commits without manual rebasing.If the destination revision cannot be determined unambiguously for a change, that change is left in the source revision. The source revision is abandoned if all changes are absorbed and it has no description.The modifications made by absorb can be reviewed with `jj op show -p`.

PARAMETERS

-f, --from REVSET

Source revision to absorb from (default: @).
-t, --into REVSETS
Destination revisions to absorb into (default: mutable()). Only ancestors of the source are considered.
-R, --repository PATH
Path to repository to operate on.
--ignore-working-copy
Don't snapshot or update the working copy.
--ignore-immutable
Allow rewriting immutable commits.

INSTALL

sudo pacman -S jujutsu
sudo apk add jujutsu
sudo zypper install jujutsu
brew install jujutsu
nix profile install nixpkgs#jujutsu

SEE ALSO

jj(1), jj-squash(1), git-absorb(1)