• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 31690378764
65%
develop: 62%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-6301-94158474812f7b491387a909f3168f8d3b20b2e3
DEFAULT BRANCH: develop
Ran 13 Aug 2026 10:19AM UTC
Jobs 1
Files 229
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Aug 2026 10:16AM UTC coverage: 65.011%. Remained the same
31690378764

push

github

web-flow
feat(stack): isolate sibling worktrees and named stacks (CLI-2107) (#6171)

Implements
[CLI-2107](https://linear.app/supabase/issue/CLI-2107/state-isolate-sibling-worktrees-and-named-stacks-end-to-end):
extends the managed-state baseline (#6152) so linked worktrees, ordinary
Git checkouts, bare-repository worktrees, branches, and named stacks
coexist without sharing mutable runtime state. All identity and
isolation policy lives in `@supabase/stack/managed`; no CLI handler
changes.

## Git identity storage

- **Workspace inspection** (`managed/git.ts`): classifies primary
checkouts, linked worktrees, bare-repo worktrees, and ordinary folders
by parsing Git metadata files directly (`.git` file/dir, `commondir`,
`HEAD`) — read-only inspection performs zero writes and needs no `git`
binary. Repositories using the reftable ref backend are refused with a
typed `UnsupportedGitWorkspaceError` instead of silently collapsing
branch contexts (their `HEAD` compat stub always names
`refs/heads/.invalid`).
- **Project ID** lives in common-scope git config (`supabase.projectId`
in `<commonDir>/config`), so all linked worktrees — including worktrees
of a bare repository with no primary worktree — share it, and a fresh
`git clone` receives new identity for free (clone copies no config).
- **Checkout ID** lives in a versioned JSON marker under each checkout's
own git directory (`<gitDir>/supabase-checkout.json`), so every worktree
is an independent checkout.
- **Branch context IDs** live in `branch.<name>.supabaseContextId`
(common scope): worktrees on the same branch share a context, `git
branch -m` carries the ID with the section rename, and branch deletion
orphans the context without touching stack data.
- Config claims use append-and-adopt-first-value (`git config --add`,
re-read, adopt the immutable first value, idempotent collapse) with
lock-contention retries — a plain set-then-reread protocol demonstrably
loses claims under concurrency.
- Identity is never infe... (continued)

10429 of 16042 relevant lines covered (65.01%)

10.85 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31690378764.1 13 Aug 2026 10:19AM UTC 229
65.01
GitHub Action Run
Source Files on build 31690378764
  • Tree
  • List 229
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #31690378764
  • 2867b258 on github
  • Prev Build on gh-readonly-queue/develop/pr-6168-8c95db0e120bba72a6bbd37851b4cedced83e609 (#31685684406)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc