Repository navigation
Attribute forward-merge conflicts per file on the first-parent line - #4
Merged
RazvanLiviuVarzaru merged 1 commit intoOct 15, 2026
Conversation
Old behaviour: walked `rev-list --no-merges target..source`, so it also test-merged commits that only arrived through merges (e.g. 10.11 commits in 11.4) straight into the target, against the wrong merge base. The first failure, even one touching none of the conflicted files, was shown as the "first likely source-side commit" for all of them. That is how 23367c88 was blamed for the 11.4 -> 11.8 conflicts. New behaviour: walks only the source's first-parent line, with merges as single steps, using in-memory `git merge-tree` instead of a worktree per commit. Each conflicted file is attributed to the commit where it starts to conflict, and the report groups files by that commit. For a merge it names the merger and lists the merged-in commits that touch the files. The health fingerprint changes shape, so a blocked chain sends one "blocked result changed" notification after deploy. Co-Authored-By: Claude Opus 5.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.
Old behaviour: walked
rev-list --no-merges target..source, so it also test-merged commits that only arrived through merges (e.g. 10.11 commits in 11.4) straight into the target, against the wrong merge base. The first failure, even one touching none of the conflicted files, was shown as the "first likely source-side commit" for all of them. That is how 23367c88 was blamed for the 11.4 -> 11.8 conflicts.New behaviour: walks only the source's first-parent line, with merges as single steps, using in-memory
git merge-treeinstead of a worktree per commit. Each conflicted file is attributed to the commit where it starts to conflict, and the report groups files by that commit. For a merge it names the merger and lists the merged-in commits that touch the files.The health fingerprint changes shape, so a blocked chain sends one "blocked result changed" notification after deploy.