rebuild_f5.sh leaves other PRs' build artifacts in the working tree nf-s7w7 ← Beads

closed priority 2 task unassigned

Twinned from https://github.com/cfsh/ninefold/issues/503 by tools/beads/import_github.py's reconcile pass.

Cost me two polluted PRs and a wrong diagnosis before I found it, so writing it down.

What happens

rebuild_f5.sh merges every open PR into f5/integration in the session's own working tree, then builds and runs the headless import. That import makes Godot generate .cs.uid sidecars for files that exist only on *other people's* branches. The script then switches back, and those generated files remain as untracked leftovers with no owning branch.

Any subsequent git add -A sweeps them into the session's next commit.

How it played out here

#485 (tests move next to the code they test) is open and paused. It renames games/*/tests/*.csgames/*/X.Tests.cs. Every rebuild_f5.sh run merged it, imported, and left ~31 *.Tests.cs.uid files behind.

Two clean signals that would have saved all of it: git diff origin/main...HEAD --name-only before pushing, and not trusting gh pr diff (it served a cached pre-force-push diff at one point, showing 32 files when git said 1).

Worth considering

The blanket git add -A is my habit and my fault; but the tool creating unowned artifacts in a shared checkout is what makes that habit expensive, and every dev session runs it after every merge.

Related: #465 (the same script cannot converge on a delete/modify conflict). Filed unclaimed.

Dependencies

None.

Comments

No comments.

Add a comment