Repository navigation
Delphi 1.1.0: repos: are plain clones, no default worktree - #75
Merged
Merged
Conversation
new-worktree.sh makes worktrees from that clone; older bare stores are left as they are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019JfJ7chmBadZ9hkhEGFN2h
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.
Changes
setup.shnow clones eachrepos:entry atrepos/<name>as a normal clone on its default branch, and creates no worktree. That clone is for people working on one thing at a time. Agents leave it alone and keep using worktrees:new-worktree.shnow builds them from the clone. Existing bare stores are left as they are, so no migration is needed (MINOR bump).Diagram
flowchart LR subgraph Before Y1["workspace.yml repos:"] --> B1["repos/argos<br/>bare store (git internals only)"] B1 --> D1["worktrees/argos/#lt;default-branch#gt;<br/>made by setup.sh"] B1 -.->|"new-worktree.sh"| F1["worktrees/argos/#lt;branch#gt;"] end subgraph After Y2["workspace.yml repos:"] --> C2["repos/argos<br/>normal clone, on its default branch<br/>(one thing at a time)"] C2 -.->|"new-worktree.sh"| F2["worktrees/argos/#lt;branch#gt;"] end N["Both: repos/ and worktrees/ are git-ignored<br/>(.git/info/exclude), never tracked or committed"]Testing
worktrees/; re-run restores a deleted clonerepos/is left as it is ("already present")repos/<repo>on its branchrepos/<repo>instead of the default worktreeNotes
repos/stays git-ignored, as before (I3): the clone is not tracked, and it is not a submodule. Old clones keep their bare store andworktrees/<repo>/<default>until someone deletesrepos/<name>and re-runs setup. The other choice was to drop worktrees completely; it wasn't taken because agents rely on them to run parallel branches.Checklist
ci/check.sh .andbash tests/e2e.shpass.delphi/manifest.ymlfile changed🤖 Generated with Claude Code
https://claude.ai/code/session_019JfJ7chmBadZ9hkhEGFN2h