feat: versioned sync commit subject and upstream commit list in PR body#6
Merged
Merged
Conversation
The sync PR was opened with a constant title and an empty body: --title overrode --fill, so neither the upstream version nor the commit id made it into the PR name, and the squashed commit has no body to fill from. - Commit subject (and PR title, reused from it) now reads `chore: sync upstream cella v0.2.2 (4f7d87c)` — release tag when tracking releases, else upstream's root package.json version at the merged commit, falling back to the old format when neither resolves. - The PR body lists the upstream commits the sync brought in, with commit and compare links. The range is recovered at ship time from committed manifests (branch HEAD = new sync point, trunk = previous one), so it works on the rerun long after the merge engine ran. Bare #123 refs in upstream subjects are qualified with the upstream slug so GitHub links them upstream instead of to the fork's own PRs. Falls back to --fill when no manifest exists. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Problem
A sync PR (e.g. cellajs/raak#20) was opened with the bare title
chore: sync upstream cellaand an empty description: the explicit--titleoverrides--fill, and the squashed sync commit has no body to fill from. You couldn't tell from the PR which upstream version it moved to or which commits it brought in.Changes
Versioned commit subject / PR title — the finishing rerun now commits as e.g.:
The version is the manifest's release tag when tracking releases, else upstream's root
package.jsonversion at the merged commit (readPackageVersionAtRef). Falls back to the previouschore: sync upstream cella <sha>format when neither resolves, and thechore:prefix release-please needs is preserved.shipSyncBranchreuses the squash commit's subject as the PR title. The same message builder is used byflattenSyncBranchfor manually-committed merges.Upstream commit list in the PR body — the PR is now opened with a generated body:
The range is recovered at ship time from committed manifests — the sync branch's
cella.manifest.jsonholds the new upstream sha, the trunk's holds the previous one — so it works on the rerun long after the merge engine computed its in-memory commit list (refs/cella/last-syncis no help there; the merge already moved it). Merge-base fallback covers forks whose last sync predates the manifest; with no manifest at all the old--fillbehavior is kept. The list is capped at the 50 newest commits with an "…N earlier commits not shown" line, and bare#123refs in upstream subjects are qualified ascellajs/cella#123so GitHub links them to the upstream PR instead of the fork's own.Verification
cella/sync/20260706-1146branch: title and body reproduce that sync's 8 upstream commits exactly (output above).🤖 Generated with Claude Code