Browse Source
The fossil ignore list had drifted well behind .gitignore (missing *.log, lib_tcl8/9, modules_tcl8/9, vendorbuilds, scratch*, src/testdata, src/scriptapps/test_*, src/buildsuites, nested _build/_aside, and using .punkcheck where git has *.punkcheck; carrying a stale 'builds' entry with no git counterpart). Rewritten to mirror .gitignore as the canonical statement of intent, translated for fossil glob semantics (verified empirically against fossil 2.28 with a scratch repo): no negation exists, so bin/* is ignored wholesale with the source-controlled bin exceptions (AGENTS.md, *.cmd, *.kit, *.tcl, *.sh, *.bash) handled by explicit 'fossil add' (ignore-glob does not affect already-managed files); a bare directory name prunes its whole tree; * crosses directory separators; git patterns matching at any depth get an additional */ variant; # comment lines are honoured. The header documents the derivation and the semantic translation rules. Verification against the live checkout: extras drop 10108 -> 2855 with no bin/log/scratch leakage; zero extras are git-ignored (no under-ignoring); git-tracked files invisible to fossil reduce to the designed bin exception set plus fossil's own generated manifest files and a vendored nmakehlp.exe (*.exe - needs explicit fossil add, as in git). Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.commaster
1 changed files with 49 additions and 26 deletions
Loading…
Reference in new issue