Skip to content

feat(git-is-fork): render forks as an editable glyph - #617

Merged
sirmalloc merged 2 commits into
sirmalloc:mainfrom
axisrow:cc615-git-is-fork-glyph
Oct 6, 2026
Merged

sirmalloc merged 2 commits into
sirmalloc:mainfrom
axisrow:cc615-git-is-fork-glyph

Conversation

@axisrow

@axisrow axisrow commented Sep 28, 2026

Copy link
Copy Markdown

Summary

  • Git Is Fork now renders a compact glyph — default ⑂ (U+2442 OCR FORK) — instead of isFork: true when origin and upstream diverge
  • The glyph is user-editable via the existing symbol override editor (g → Glyph); an empty override collapses the widget
  • Raw value still renders true; the not-a-fork output (isFork: false / false / hidden via the not-fork hide state) is unchanged

Cherry-picked from the fork's axisrow#37. Refs #615.

Testing

  • New src/widgets/__tests__/GitIsFork.test.ts: preview, fork, not-fork + unified hide state, glyph override
  • On this upstream base: bun run lint clean, 2362 tests pass
  • Live render: fixture repo with origin + upstream remotes → ⑂; repo without a literal upstream remote → hidden under not-fork

🤖 Generated with Claude Code

axisrow and others added 2 commits September 28, 2026 12:37
Replace the isFork: true label with a glyph (default U+2442 OCR FORK)
when origin and upstream diverge. The glyph is editable via the existing
symbol override editor (g); raw value still renders true. The not-fork
output and its not-fork hide state are unchanged.

Refs sirmalloc#615

Co-Authored-By: Claude Code <[email protected]>
A real GitHub fork with the inverted local layout (origin points at the
parent, the personal copy is a remote named "fork", no literal upstream)
was misdetected as not-a-fork, hiding the glyph. getForkStatus now falls
back to the literal "fork" remote as the peer when "upstream" is absent;
unnamed extra remotes still never trigger the detection. Deliberately not
routed through getUpstreamRemoteInfo, whose tracking-remote fallback can
resolve to origin itself.

Co-Authored-By: Claude Code <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants