Repository navigation
feat(writ): repo add takes a repository URL — clone-and-register, one grammar - #353
Merged
Merged
Conversation
… grammar The location operand is polymorphic (ruled 2026-08-09): a local working-tree-root, or a repository URL that clones first — git-clone's own grammar, with the optional trailing working-tree-root as the destination and --branch as the one flag. URL detection is git's own rule (schemes, scp-like, single-letter-is-a-drive). Without a destination the clone lands in the writ-owned home (XDG_DATA_HOME/devlore/writ/repos/<layer>); after placement the repository is entirely the user's — no hidden git operations, ever. The local form now validates git-working-tree-ness at add (deploy's pin refuses non-repos anyway; failing early is kinder). The guide's VCS-agnostic claim — false since pinning landed, and carried unexamined through the #352 rewrite — is replaced by the honest git basis. Tests: the URL-detection table, every malformed combination, and real offline file:// clones into both destinations, with remove proven to leave the clone untouched.
This was referenced Aug 9, 2026
David-Noble-at-work
added a commit
that referenced
this pull request
Aug 9, 2026
…Rs (#355) A plan committed inside its own PR predates the merge by construction, so no completed plan recorded where it landed. Each of the five now ends with the PR it landed as and the squash date: implicit-common-project and git-crypt-pinning (#354), writ-repo-remote (#353), writ-repo-command (#352), archive-root-confinement (#345). Co-authored-by: David Noble <[email protected]>
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.
Ruled 2026-08-09:
writ repo add <layer> <working-tree-root>|<repository-url> [<working-tree-root>]— the URL form clones first (git-clone's own grammar and detection rules,--branchas the one flag), defaulting to the writ-owned homeXDG_DATA_HOME/devlore/writ/repos/<layer>; a positional destination serves the edit-daily personal layer. After placement the repository is entirely the user's — no hidden git operations. The local form validates git-working-tree-ness at add time. The guide's VCS-agnostic fiction (false since snapshot pinning; carried unexamined through #352) is replaced by the honest git basis. Verified: suite green including real offlinefile://clone tests, scenario green, board zero both GOOS. Plan:docs/plans/writ-repo-remote.md.