Skip to main content

Module vcs

Module vcs 

Source
Expand description

VCS backends (milestone 2): everything shells out to the git/jj CLIs, since jj has no stable library API and git worktree/git apply support in gix/git2 is incomplete.

Operations on the same canonical repo must be serialized (a per-repo mutex, added when the sync engine lands); different repos and sources can run concurrently.

Modules§

git
Git backend.
jj
Jj backend. Shells out only to the jj CLI (never raw git) plus the standalone patch(1) tool for applying diffs - a secondary jj workspace add’d directory has no .git of its own (only the canonical repo’s own default workspace is colocated with git), so git apply isn’t available there. jj commit snapshots the working copy directly, so patch(1) editing files on disk is enough; no index of any kind needs updating.

Traits§

Vcs