Skip to content

Delphi 1.1.0: repos: are plain clones, no default worktree - #75

Merged
bracyw merged 1 commit into
mainfrom
claude/compassionate-volta-d39of1
Oct 18, 2026
Merged

bracyw merged 1 commit into
mainfrom
claude/compassionate-volta-d39of1

Conversation

@bracyw

@bracyw bracyw commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Changes

setup.sh now clones each repos: entry at repos/<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.sh now 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"]
Loading

Testing

  • e2e: setup.sh makes a non-bare clone on the default branch and no worktrees/; re-run restores a deleted clone
  • e2e: an older bare store in repos/ is left as it is ("already present")
  • e2e: new-worktree.sh works from the plain clone and leaves repos/<repo> on its branch
  • e2e: park/switch/workspaces: tests now check repos/<repo> instead of the default worktree

Notes

repos/ stays git-ignored, as before (I3): the clone is not tracked, and it is not a submodule. Old clones keep their bare store and worktrees/<repo>/<default> until someone deletes repos/<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 . and bash tests/e2e.sh pass
  • Version bumped if a .delphi/manifest.yml file changed
  • No merge conflicts
  • Request reviewers & ping on Slack

🤖 Generated with Claude Code

https://claude.ai/code/session_019JfJ7chmBadZ9hkhEGFN2h

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
@bracyw bracyw added the by: ai-assisted Written by a person with AI help label Oct 18, 2026 — with Claude
@bracyw
bracyw merged commit 580a87f into main Oct 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

by: ai-assisted Written by a person with AI help

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants