Skip to content

Commit cd8def3

Browse files
authored
Merge pull request modelcontextprotocol#2813 from modelcontextprotocol/generated-files-merge-attrs
Mark generated files with -merge and document regeneration on conflicts
2 parents 3a4ee0b + 2f0975d commit cd8def3

2 files changed

Lines changed: 22 additions & 5 deletions

File tree

.gitattributes

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package-lock.json linguist-generated=true
2-
schema/*/schema.json linguist-generated=true
3-
docs/specification/*/schema.md linguist-generated=true
4-
docs/specification/*/schema.mdx linguist-generated=true
5-
docs/seps/index.mdx linguist-generated=true
6-
docs/seps/[0-9]*.mdx linguist-generated=true
2+
3+
# Generated files: linguist-generated collapses them in PR diffs; -merge tells
4+
# git not to attempt a textual merge (keeps the current branch's copy and marks
5+
# the file conflicted). Resolve by re-running `npm run generate` and committing.
6+
schema/*/schema.json linguist-generated=true -merge
7+
docs/specification/*/schema.md linguist-generated=true -merge
8+
docs/specification/*/schema.mdx linguist-generated=true -merge
9+
docs/seps/index.mdx linguist-generated=true -merge
10+
docs/seps/[0-9]*.mdx linguist-generated=true -merge

CONTRIBUTING.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,19 @@ npm run check:schema:ts
5353
npm run generate:schema
5454
```
5555

56+
### Resolving merge conflicts in generated files
57+
58+
If your branch conflicts with `main` in generated files (`schema/*/schema.json`, `docs/specification/*/schema.mdx`, `docs/seps/*.mdx`), do not resolve them by hand. Merge `main`, resolve any conflicts in the source files (e.g. `schema/draft/schema.ts`), then regenerate and commit:
59+
60+
```bash
61+
git merge main
62+
npm run generate
63+
git add .
64+
git commit
65+
```
66+
67+
These files are marked with `-merge` in `.gitattributes`, so git keeps your branch's copy and flags them as conflicted instead of inserting conflict markers.
68+
5669
## Documentation changes
5770

5871
Documentation is written in MDX format and in the [`docs`](./docs) directory.

0 commit comments

Comments
 (0)