.gitignore: the four ownership objects #868 did not reach - #874
Conversation
JustVugg#868 closed most of this: c/COLI_V4_UNIT_*.o covers the twelve objects the amalgamated deepseek_v4 Makefile leaves next to the sources. Four more go somewhere else. c/Makefile:895: V4_OWN_DIR = build/ownership so `make check` also writes build/ownership/COLI_V4_UNIT_{RUNTIME,CONFIG, ST,NATIVE_QUANT}.o, which no rule matched. On current dev a clean checkout plus `make check` still leaves `?? c/build/` in git status -- one `git add -A` away from the same accident JustVugg#868 was written to stop, and the one I made on JustVugg#849 and JustVugg#800. Ignoring c/build/ wholesale rather than the four names: nothing under it is tracked, and it is a build output directory, so a rule per object would need editing every time the ownership suite grows. Worth stating because it caught me on JustVugg#849: an ignore rule does not untrack what is already committed. JustVugg#868 made the twelve invisible in git status while leaving them in the tree; git rm --cached is what removed them. Same shape as JustVugg#835. This prevents the next one, it does not clean up an existing one.
|
Right, and thank you for catching it rather than working around it.
What makes this worse on my side: when I committed the cap fix I had to clean the same sixteen out of Ignoring the whole Merged. #849 and #800 are genuinely clear on a rebase now, rather than clear-ish. |
#868 closed most of this.
c/COLI_V4_UNIT_*.ocovers the twelve objects the amalgamated deepseek_v4 Makefile leaves next to the sources. Four more go somewhere else:c/Makefile:895: V4_OWN_DIR = build/ownershipSo
make checkalso writesbuild/ownership/COLI_V4_UNIT_{RUNTIME,CONFIG,ST,NATIVE_QUANT}.o, which no rule matches:On current
dev, a clean checkout plusmake checkstill leaves?? c/build/ingit status— onegit add -Aaway from exactly the accident #868 was written to stop, and the one I made on #849 and #800.c/build/wholesale rather than four names: nothing under it is tracked (git ls-tree -r dev -- c/build/is empty), it is a build output directory, and naming each object would need editing every time the ownership suite grows.One thing worth stating, since it cost me a round trip on #849
An ignore rule does not untrack what is already committed. #868 made those twelve objects invisible in
git statuswhile leaving them in the tree —git ls-treestill listed all sixteen on my branch after rebasing onto currentdev. What removed them wasgit rm --cached, which @JustVugg named in his first comment before the follow-up suggested the rebase would be enough.Same shape as #835, where
c/.gitignorealready namedtests/bench_omp_grainand the binary sat tracked regardless. Ignore rules prevent; they do not clean up. This PR is prevention only — nothing underc/build/is tracked today, so there is nothing here to remove.Verified both directions: the four objects are ignored after this change, and
git statuson a tree withc/build/ownership/*.opresent is clean.