Skip to content

Update merge-flow config for vs18.7 release branch#13643

Open
SimaTian wants to merge 5 commits intomainfrom
tomasbartonek/release-18.7-merge-flow
Open

Update merge-flow config for vs18.7 release branch#13643
SimaTian wants to merge 5 commits intomainfrom
tomasbartonek/release-18.7-merge-flow

Conversation

@SimaTian
Copy link
Copy Markdown
Member

Phase 1.3 of MSBuild Release Checklist 18.7.

Insert vs18.7 as the last entry before main in the merge chain so that fixes flow vs18.6 → vs18.7 → main after vs18.7 is branched.

⚠️ Do not merge until vs18.7 branch exists (Phase 1.1).

cc @rainersigwald

Copilot AI review requested due to automatic review settings April 28, 2026 11:19
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates MSBuild’s merge-flow configuration to include the upcoming vs18.7 release branch in the servicing merge chain, enabling automated forward merges to flow vs18.6 → vs18.7 → main once the branch exists.

Changes:

  • Insert vs18.7 into the merge chain as the target for vs18.6.
  • Add a new vs18.7 configuration that forwards merges to main.

Comment thread .config/git-merge-flow-config.jsonc Outdated
}
}
}
// IMPORTANT: This file is read by the merge flow from main branch only.
Copy link

Copilot AI Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 1 has trailing whitespace after the period. Repo formatting rules (see .editorconfig trim_trailing_whitespace = true) expect trimming trailing spaces; please remove the extra space at end of the comment line to avoid churn in diffs and keep formatting consistent.

Suggested change
// IMPORTANT: This file is read by the merge flow from main branch only.
// IMPORTANT: This file is read by the merge flow from main branch only.

Copilot uses AI. Check for mistakes.
Comment thread .config/git-merge-flow-config.jsonc Outdated
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

The semantic change is correct — inserting vs18.7 between vs18.6 and main in the merge chain is exactly what's needed for the 18.7 release, and the comments are accurate.

Issue: CRLF line endings stored in git blob

Severity: Should fix before merge

The committed blob changed from LF to CRLF line endings. This is confirmed by comparing git cat-file -p output between origin/main and the PR branch — the old blob uses 0a (LF) while the new blob uses 0d 0a (CRLF). File sizes: 1929 bytes (old, LF) → 2170 bytes (new, CRLF).

This causes:

  • The diff shows a full-file rewrite (46 deletions, 50 additions) instead of the ~4-line actual change
  • Inconsistency with the repo's * text=auto .gitattributes setting, which expects LF in the object store
  • Unnecessary git history churn

The fix is simple: re-normalize the file so LF endings are stored in the blob (see inline comment for commands).

Merge prerequisite ✅

The PR description correctly warns: "Do not merge until vs18.7 branch exists." Confirmed that vs18.7 does not yet exist — this is expected and properly documented.

Generated by Expert Code Review (on open) for issue #13643 · ● 2.7M

Comment thread .config/git-merge-flow-config.jsonc Outdated
}
}
}
// IMPORTANT: This file is read by the merge flow from main branch only.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Line endings changed from LF to CRLF in the committed blob ⚠️

The original file stored LF (\n) line endings in the git object store (confirmed via git cat-file -p). This PR replaces them with CRLF (\r\n) in the blob itself. This causes the diff to show a full-file rewrite (46 deletions, 50 additions) instead of the ~4-line semantic change.

The repo's .gitattributes has * text=auto, which should normalize to LF on commit. This suggests the commit was created with a git configuration that bypassed normalization (e.g., core.autocrlf=false on Windows, or the file was staged in a way that preserved CRLF).

To fix: re-normalize the file before committing. For example:

# Ensure proper normalization
git rm --cached .config/git-merge-flow-config.jsonc
git add .config/git-merge-flow-config.jsonc
git commit --amend

Or simply ensure core.autocrlf=true (or core.eol=lf) is set and re-add the file.

While this won't break the merge-flow tooling (JSON parsers handle both), it creates unnecessary churn in git history and makes the actual change harder to review.

Comment thread .config/git-merge-flow-config.jsonc Outdated
Comment on lines +40 to +42
},
// Automate opening PRs to merge msbuild's vs18.6 (VS, SDK 10.0.3xx) into vs18.7 (VS, SDK 10.0.4xx)
"vs18.6": {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logical change is correct. The new vs18.6 → vs18.7 link and vs18.7 → main entry properly insert vs18.7 into the merge chain. The comment annotations with SDK version info (SDK 10.0.3xx for vs18.6, SDK 10.0.4xx for vs18.7) are accurate and consistent with the pattern used upstream in the chain.

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.

3 participants