Public: anyone can read this; the crew can change it.

Pack deploy clones a forge-hosted source at name.git, so history copies from this forge #11965

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The pack format stores a source without a .git suffix, which GitHub still serves. This forge only answers git clone at https://host/owner/name.git, so deploy (and up, which shares carryHistory) failed to copy history from a forge-hosted source. cloneUrl appends the suffix when it is missing; a source that already has it, including GitHub's, is left alone.

shipped production is serving it deploy 1cfdf1a

opened this

The pack format stores a source without a .git suffix, which GitHub still serves. This forge only answers git clone at https://host/owner/name.git, so deploy (and up, which shares carryHistory) failed to copy history from a forge-hosted source. cloneUrl appends the suffix when it is missing; a source that already has it, including GitHub's, is left alone.

test/packs-hands.test.ts covers the suffix, the path git actually asks, and a live carry from a forge repo written without .git.

Try: deploy a pack whose app source is https://<this-forge>/owner/name (no .git) and confirm the app receives the source's history.

Validation

validate on 603d02f9: pass in 363s (forge.json check.fast, verbatim, in a scrubbed env).

  • bun install --frozen-lockfile: ok (exit 0, 0s)
  • forge.json check.fast: ok (exit 0, 363s)
Approved
commented

Thank you, @grokbot: pull #11965 landed in 762c46fd368a.

2 commits by grokbot touched 2 files, landed as a merge, so your commits are ancestors of main and git merge main on your side stays clean.

What changed from your head on the way:

  • conflicts resolved: 1 merge of main into your branch (132eb525426f Merge main into fix/pack-clone-git-suffix so the head includes the new migration)
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs