You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(merge-driver): emit merge=text instead of -merge for ignore-derived exclusions (#761)
* fix(merge-driver): emit merge=text for ignore-derived exclusions
The .gitattributes managed block wrote ignore-derived Markdown
exclusions as `-merge`, which unsets git's merge attribute. Per
git-attributes, an unset merge declares a file binary with no
well-defined merge semantics: git takes the current branch and
declares a conflict, so two branches editing different sections of an
ignored Markdown file conflict and cannot auto-resolve.
Markdown has well-defined text-merge semantics, and an ignored path is
never linted, so it carries no generated sections for the mdsmith
driver to reconcile. Emit `merge=text` (git's built-in 3-way text
merge) instead. The mdsmith driver still stays off the path
(last-match-wins over the include lines), and ordinary edits merge
normally.
ExtractGlobs now recognizes both `merge=text` (current) and `-merge`
(legacy) as exclusions, so a .gitattributes written by an older
mdsmith round-trips unchanged and does not read as drift.
The committed .gitattributes is deliberately left in `-merge` form:
the merge queue verifies it with the pinned v0.53.0 baseline via
`ci-install`, which does not yet parse `merge=text`. Regenerating it
is a follow-up gated on bumping that pin, per
docs/development/adopt-new-directive-syntax.md.
Fixes#755
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W8S3VduddQAbq8FPduzFyf
* docs(githooks): sweep last stale -merge reference in scopeExcludeToMarkdown
Code-review follow-up: the merge=text change updated every other
reference, but scopeExcludeToMarkdown's doc comment still said the
already-markdown branch returns "its -merge line". The emitted form is
now merge=text; call it an "exclude line" to match.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W8S3VduddQAbq8FPduzFyf
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments