Notable changes to cow, newest first.
Adds cow migrate, which discovers git linked worktrees, jj secondary
workspaces, and orphaned cow workspace directories and migrates them into proper
cow-managed APFS clone workspaces — so you can adopt cow without starting your
in-progress branches from scratch.
cow migrate [--source] [--all] [--force] [--dry-run] — discover
and migrate git worktrees, jj workspaces, and orphaned directories into
cow-managed workspaces. Git worktrees are replaced with an APFS clone and the
old worktree removed; jj workspaces are re-created with jj workspace add
and the old one forgotten; orphaned directories are registered in-place without
cloning. Dirty candidates are skipped unless --force is passed.
--dry-run prints the plan without making any changes.
cow migrate command reference and a Development section
documenting the three root causes of the test coverage gap in
migrate.rs (jj paths, subprocess integration tests, defensive error paths).
migrate tab.
Switches from a cp -Rc subprocess to a direct clonefile(2)
syscall for a measurable speed improvement on large repos, and fixes several
issues with Jujutsu workspace creation.
cp -Rc subprocess with a direct clonefile(2) syscall.
This is the same kernel call Time Machine uses: one atomic operation regardless of
directory depth, with no per-file process spawning. A 2 GB repository now clones in
around 130 ms wall time.
jj workspace add before copying untracked files from the source.
Previously the copy ran first, causing jj workspace add to reject the
non-empty destination directory.
signing.behavior="drop" to jj workspace add so SSH
passphrase prompts are suppressed during workspace creation. jj signs the initial
workspace commit immediately; this flag suppresses that without touching the
user's global jj config.
.jj/cow-context instead of .cow-context
at the workspace root. jj auto-tracks every new file in the working copy, so a
file at the root appeared as an addition in jj diff and jj status.
Content inside .jj/ is invisible to jj's working-copy tracking.
cow ships as a Homebrew formula and a Cargo crate (cow-cli),
covering the full workspace lifecycle with an MCP server for agent orchestration.
cow create — clone a repo into an isolated APFS workspacecow list — list all active workspaces, with optional JSON outputcow status — detailed workspace status including diff summarycow diff — passthrough to git diff or jj diffcow extract — extract changes back to source as patch or branchcow remove — remove workspaces, with dirty-state warningscow sync — fetch and rebase workspace onto source repo changescow cd — print workspace path for shell integrationcow mcp — run as an MCP stdio server for AI orchestrators