docs(gitignore): describe the file as repo-owned, not a shared base#30
Merged
Conversation
The header called this a "Language/framework-agnostic base" that
"language overlays extend when adopted", implying a shared baseline
distributed from standards. No such distribution exists: .gitignore
appears nowhere in standards/distribution/sync-manifest.yml, for any
component or any target.
The implication is not achievable either. Git has no include mechanism,
so a managed base plus a local overlay cannot coexist in one .gitignore
— that is the partial ownership the distribution README rules out
("A component that needs a different destination or partial ownership is
the wrong component boundary"). So the file cannot become a managed
component in its current shape, and the header should stop implying it
is one.
Evidence it was never a real baseline: of the 10 org repos carrying a
.gitignore, only this one and dotfiles used the "agnostic base" framing,
and those two already diverged from each other (26 vs 33 lines).
Header only; no ignore patterns changed. The Node, Lefthook, and .NET
sections stay: they guard tooling that can run against a local checkout
regardless of what source this repo tracks. Whether to prune them is a
separate question, deliberately not decided here.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UmDSbhvfsnpL1DuTMjjJtP
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.
Closes melodic-software/standards#213
Summary
The
.gitignoreheader called this a "Language/framework-agnostic base" that "language overlays (.NET, Python, …) extend with their own ignores when adopted" — framing that implies a shared baseline distributed fromstandards.No such distribution exists.
.gitignoreappears nowhere instandards/distribution/sync-manifest.yml, for any component or any target.Nor could it, in this shape. Git has no include mechanism, so a managed base plus a local overlay cannot coexist in one
.gitignore. That is exactly the partial ownership the distribution README rules out: "A component that needs a different destination or partial ownership is the wrong component boundary and must be split first." So the file cannot become a managed component as designed, and the header should stop implying it is one.It was never a real baseline in practice. Of the 10 org repos carrying a
.gitignore, only this one anddotfilesused the "agnostic base" framing — and those two had already diverged from each other (26 vs 33 lines). The other eight are entirely unique, ranging 7 to 821 lines.Test plan
git statusclean against an unchanged working tree before and after; no files newly ignored or un-ignored..gitignoreabsent fromsync-manifest.yml(grep -c gitignore→ 0).Related
melodic-software/dotfilesis worse — it explicitly attributes the base to(melodic-software/standards), naming a distribution source that does not distribute this file. Fixed in a separate PR against that repo.