Skip to main content

Version control systems

Sapling and Jujutsu can share Git storage, but that leaves two separate questions: do they sync an external repository into a folder, and can git-splice run alongside them?

SaplingJujutsu
A repository in a foldersl subtree imports and merges itNo equivalent released; submodule contents are not managed
Sync stateCommit metadata interpreted by SaplingNo built-in folder-sync state
Sending folder changes upstreamNo sl subtree export command in the tested versionNo built-in folder-sync command
Using git-spliceIn a Git working copy, with branch and index caveatsIn a colocated working copy, after selecting a named Git branch
  • Sapling: directory branching, sync metadata and Git rewrites.
  • Jujutsu: ordinary files work, but syncing needs a named Git branch.

The executable examples pin Sapling and jj in flake.nix. Their exact output and compatibility caveats describe those versions. Future integration ideas live under Going forward.