From 69f1461620dab069b32af47b7acb03c96e395a45 Mon Sep 17 00:00:00 2001 From: sneak Date: Sun, 4 Oct 2026 09:33:13 +0000 Subject: [PATCH] Merge TODO.md with git's union merge (closes #98) Every PR adds an entry at the top of Completed Steps in TODO.md, so each merge to next left every other open PR conflicting there. A root .gitattributes now marks TODO.md merge=union, so two branches inserting at the same place merge without a conflict. Git now never reports a conflict in TODO.md: a real conflict elsewhere keeps both versions of the line, and two new entries that share an identical line end up one inside the other. The .gitattributes comment and the TODO.md entry say to read the merged entries after every merge or rebase. This applies to this repository only; nothing canonical changes. Model: opus-5-5 --- .gitattributes | 3 +++ TODO.md | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..3d46f55 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Git never reports a conflict in TODO.md: read the merged entries after every +# merge or rebase, because an entry can land in the middle of another. +TODO.md merge=union diff --git a/TODO.md b/TODO.md index 3f5d942..fc3f900 100644 --- a/TODO.md +++ b/TODO.md @@ -21,6 +21,14 @@ fmt-check, and commit. # Completed Steps +- 2026-10-04: Added a root `.gitattributes` that merges `TODO.md` with git's + union merge (issue 98), so two branches that each add an entry at the top of + Completed Steps merge without a conflict. Git now never reports a conflict in + `TODO.md`: a real conflict elsewhere keeps both versions of the line, and when + two new entries share an identical line, one is inserted into the middle of + the other, which a rebase can do to an entry already on `next`. Read the + merged entries after every merge or rebase. This applies to this repository + only; no canonical file changed. - 2026-10-04: The note under the canonical Go `Dockerfile` example in `REPO_POLICIES.md` now installs lint-phase system libraries with `apt-get` under their Debian package names (issue 83). The `golangci/golangci-lint`