@@ -42,14 +42,14 @@ jobs:
4242 set -e
4343
4444 if [[ "$merge_status" -ne 1 ]]; then
45- echo "Expected a five -path conflict set; git merge returned $merge_status" >&2
45+ echo "Expected a reviewed three -path textual conflict set; git merge returned $merge_status" >&2
4646 exit 1
4747 fi
4848
49+ # Five paths changed on both sides, but Git can merge .gitignore and
50+ # docs/en/README.md cleanly. Assert only the three actual unmerged paths.
4951 expected_conflicts=$(cat <<'EOF'
50- .gitignore
5152 docs/cn/guides/benchmarks.md
52- docs/en/README.md
5353 docs/en/guides/benchmarks.md
5454 pyproject.toml
5555 EOF
@@ -64,12 +64,13 @@ jobs:
6464 exit 1
6565 fi
6666
67- # Keep current master packaging/navigation, then add the reviewed
68- # dashboard-specific deltas. Keep PR #76's benchmark guides because
69- # they remove stale universal performance claims and add the current
70- # canonical-dashboard contract.
71- git checkout --theirs .gitignore docs/en/README.md pyproject.toml
72- git checkout --ours docs/en/guides/benchmarks.md docs/cn/guides/benchmarks.md
67+ # Resolve all five overlapping paths from explicit source commits,
68+ # independent of whether Git marked a path conflicted or auto-merged it.
69+ git show "$master_head:.gitignore" > .gitignore
70+ git show "$master_head:docs/en/README.md" > docs/en/README.md
71+ git show "$master_head:pyproject.toml" > pyproject.toml
72+ git show "$dashboard_head:docs/en/guides/benchmarks.md" > docs/en/guides/benchmarks.md
73+ git show "$dashboard_head:docs/cn/guides/benchmarks.md" > docs/cn/guides/benchmarks.md
7374
7475 python - <<'PY'
7576 from pathlib import Path
0 commit comments