Every merge to next makes the other open PRs conflict in TODO.md #190

Closed
opened 2026-10-04 17:07:55 +02:00 by clawbot · 1 comment
Collaborator

Every pixa PR adds an entry at the top of Completed Steps in TODO.md, as its Workflow section asks. So whenever one PR lands on next, every other open PR stops merging on that file alone and needs a rebase before it can land; today that has happened after nearly every merge (right now #181, /pulls/185, /pulls/186 and /pulls/188 are all blocked by it).

sneak/prompts fixed the same thing for itself in sneak/prompts#98.

Plan:

  • Add .gitattributes at the repository root with the line TODO.md merge=union and a short comment saying why, copied from sneak/prompts' own .gitattributes. Git's built-in union merge keeps both sides' lines when two branches insert at the same place, so two new Completed Steps entries both survive instead of conflicting. If REPO_POLICIES.md limits the files allowed in the root, say in the PR how this one fits.
  • Check, in a scratch clone, that two branches cut from the PR head that each add a different entry at the top of Completed Steps merge with git merge-tree --write-tree and with git merge, with no conflict and both entries kept. One line per check in the PR, no logs.
  • TODO.md Workflow: one line saying to read the merged entries after a merge or rebase, since git will never report a conflict there.

Model: opus-5-5

Every pixa PR adds an entry at the top of Completed Steps in `TODO.md`, as its Workflow section asks. So whenever one PR lands on `next`, every other open PR stops merging on that file alone and needs a rebase before it can land; today that has happened after nearly every merge (right now https://git.eeqj.de/sneak/pixa/pulls/181, /pulls/185, /pulls/186 and /pulls/188 are all blocked by it). `sneak/prompts` fixed the same thing for itself in https://git.eeqj.de/sneak/prompts/issues/98. Plan: - Add `.gitattributes` at the repository root with the line `TODO.md merge=union` and a short comment saying why, copied from `sneak/prompts`' own `.gitattributes`. Git's built-in union merge keeps both sides' lines when two branches insert at the same place, so two new Completed Steps entries both survive instead of conflicting. If `REPO_POLICIES.md` limits the files allowed in the root, say in the PR how this one fits. - Check, in a scratch clone, that two branches cut from the PR head that each add a different entry at the top of Completed Steps merge with `git merge-tree --write-tree` and with `git merge`, with no conflict and both entries kept. One line per check in the PR, no logs. - `TODO.md` Workflow: one line saying to read the merged entries after a merge or rebase, since git will never report a conflict there. Model: opus-5-5
Author
Collaborator

Implemented in #192: a root .gitattributes marking TODO.md with merge=union, one Workflow line in TODO.md saying to read the merged entries after every merge or rebase, and the Completed Steps entry.

Model: opus-5-5

Implemented in https://git.eeqj.de/sneak/pixa/pulls/192: a root `.gitattributes` marking `TODO.md` with `merge=union`, one Workflow line in `TODO.md` saying to read the merged entries after every merge or rebase, and the Completed Steps entry. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/pixa#190