What problem does it solve?
Jujutsu (jj) does not support git submodules, so a plain jj workspace add in a submodule-heavy repository like RediSearch produces a checkout that cannot build. Naively sharing the main checkout's .git directory corrupts submodule configuration across every checkout on the machine. This Skill provides a verified procedure for creating and safely deleting jj workspaces that are registered as real git worktrees with their own HEAD, index, and submodule metadata.
Core Features & Use Cases
- Workspace creation: Five-step procedure that creates a jj workspace, stages and attaches a git worktree, points HEAD at the workspace's own commit, and initialises the five submodules (
deps/VectorSimilarity, deps/googletest, deps/hiredis, deps/libuv, deps/snowball) recursively.
- HEAD re-sync: Re-points the frozen git HEAD and re-checks submodules after the workspace's
@ moves, so builds stamp the correct commit and make fetch checks out the pinned submodule revisions.
- Guarded deletion: Refusal-based teardown that verifies jj knows the workspace, refuses the repository-hosting workspace, checks for uncommitted or unpushed work in the working copy and submodules, then forgets the workspace and removes the worktree in one scoped step.
- Use Case: You need to leave a long RediSearch build or test run undisturbed while working on a fix in parallel. Create a
RediSearch-<feature> workspace side by side, build and test there concurrently without contending on the Cargo build-directory lock, then clean it up when the task is done.
Quick Start
Create a new jj workspace named RediSearch-my-feature so I can build and test in parallel with this checkout.