LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

jj-parallelize

restructures a series of sequential commits to be parallel siblings

TLDR

Make a range of revisions siblings of each other
$ jj parallelize [rev1]::[rev2]
copy
Parallelize the current revision and its parent
$ jj parallelize @-::@
copy
Parallelize specific revisions by change ID
$ jj parallelize [xyz] [abc]
copy

SYNOPSIS

jj parallelize [revsets...]

DESCRIPTION

jj parallelize declares that a set of revisions are independent of each other: they stop being ancestors or descendants of one another and become siblings. Running jj parallelize 1::2 on a linear history 0-1-2-3 makes 1 and 2 both children of 0, and 3 becomes a merge of 1 and 2.Revisions outside the set keep their relationships: former ancestors of a revision in the set stay ancestors, and former descendants stay descendants. Because of this, parallelizing non-adjacent revisions such as '1 | 3' with 2 in between is a no-op.Useful for splitting a stack of independent changes so they can be reviewed or merged separately.

PARAMETERS

REVSETS

The revisions to parallelize. Also accepted with -r.

INSTALL

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

CAVEATS

If the revisions are not actually independent, the new siblings may contain conflicts, which jj records in the commits for later resolution.

SEE ALSO

RESOURCES

Copied to clipboard
Kai