Notable changes to cow, newest first.
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