Files
jj-vcs-jj/cli/testing
Stephen Jennings 5a9b9c3b95 run: Reuse a pool of workspaces between invocations
Previously, we created a new unique working copy for each invocation
named after the commit ID. This works but can be very slow to rebuild
the working copy and any ignored build artifacts between each
invocation.

Workspaces used for `jj run` are now named `1`, `2`, ..., `N`, where `N`
comes from either `--jobs N`, the config value `run.jobs`, or defaults
to 1.

Remove the single global lock that prevented multiple `jj run` instances
from executing concurrently. Multiple processes wait for each workspace
individually.

Workspaces persist between command invocations so build artifacts are
reused. The `tree_state` file in each is used to check out the next
revision while leaving ignored files in place.

The previous "fresh workspace" behavior will be restored in a future
commit that adds a `--clean` flag.
2026-06-24 00:26:55 +00:00
..