feat(worktree): ScorpioFS backend — attach, fork and sync over Worktree v2 - #2
Open
Ivanbeethoven wants to merge 1 commit into
Open
Ivanbeethoven wants to merge 1 commit into
Ivanbeethoven wants to merge 1 commit into
Conversation
…ee v2 Adds the Libra side of the Worktree Control Protocol v2 (companion to the ScorpioFS PR): - `libra worktree add --backend scorpiofs [-b <branch>] <path>`: registers a host-side worktree whose working tree is a ScorpioFS FUSE mount, attaches the mount via `POST /antares/worktrees` (which pins the lower to the trunk tip) and writes the `.libra` pointer (symlink into the main gitdir's `worktrees/<id>/`) plus `scorpiofs_mount_id`. - `libra fork <path> [-b <branch>]`: forks the current ScorpioFS-backed worktree via the daemon (`chain` mode by default: sealed shared lower layer, zero copy); the child is born on its own branch. - `libra sync [-m <message>]`: add -A, one commit, push to the configured upstream, then `commit-finalize` — the daemon pins its lower to the pushed revision and clears exactly the committed upper entries. Only a `ready` finalize counts as a completed sync; push alone is never enough. - sync/fork drive the v2 endpoints with `LIBRA_SCORPIOFS_ENDPOINT` (default `http://127.0.0.1:2725/antares`); the ScorpioFS mount is treated as the data plane and Libra never writes VCS metadata into it. ScorpioFS-side: gitmono-dev/scorpiofs#65.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the Libra side of the Worktree Control Protocol v2 (companion to gitmono-dev/scorpiofs#65):
libra worktree add --backend scorpiofs [-b <branch>] <path>— registers a host-side worktree whose working tree is a ScorpioFS FUSE mount; attaches the mount viaPOST /antares/worktrees(pinning the lower to the trunk tip) and writes the.librapointer (symlink into the main gitdir'sworktrees/<id>/) plusscorpiofs_mount_id.libra fork <path> [-b <branch>]— forks the current ScorpioFS-backed worktree via the daemon (chainmode by default: sealed shared lower layer, zero copy); the child is born on its own branch.libra sync [-m <message>]—add -A, one commit, push to the configured upstream, thencommit-finalize: the daemon pins its lower to the pushed revision and clears exactly the committed upper entries. Only areadyfinalize counts as a completed sync; push alone is never enough.LIBRA_SCORPIOFS_ENDPOINT(defaulthttp://127.0.0.1:2725/antares). The ScorpioFS mount is the data plane; Libra never writes VCS metadata into it.ScorpioFS side: gitmono-dev/scorpiofs#65.
Test plan
worktree add --backend scorpiofs→ edit →libra sync→ clone-back content verification →refresh_lower; two consecutive rounds greenlibra statusthrough the.librasymlink resolves correctly before and after finalize/refresh; effective diff reports zero fake modifications