Repository navigation
fix(upstream): treat commits carried by side-branch sync PRs as direct commits - #667
Merged
Merged
Conversation
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.
Setting the intake target to upstream
024d49520e, the commit before the V2 orchestrator merge, fails with "PR association for a97a4a9 ends outside target history". That commit is a direct push to upstream main, but GitHub also associates it with pingdotgg/t3code#14668, one of the "merge main into the V2 branch" PRs. That PR merged into the V2 branch, so its merge commit never lands on main's first-parent history, and the queue reads it as a PR the target splits. Two more direct commits before V2 have the same problem: an upstream release preparation and a mobile version bump, associated with pingdotgg/t3code#14851 and pingdotgg/t3code#14855. Moving the target past V2 doesn't help, because those merge commits stay on the side branch.The queue now passes upstream main's first-parent history to the association step and ignores a merged PR whose merge commit is not on it: such a PR only carried the commit into a side branch. The commit then resolves to the PR that did merge into main, or to no PR, in which case the queue lists it as a direct commit. A PR that merged into main beyond the target still blocks a target inside it.
With this change, setting the target to
024d49520efrom a baseline of8dd02470b1succeeds: 376 commits, 9 of them direct, with the three commits above among the direct ones. A new queue test covers a commit carried by a side-branch sync PR, both alone and beside the squash PR that merged it into main, and checks that a main PR beyond the target still blocks.Written by an agent (Claude Code, claude-opus-5-5).