Problem
The current .gitignore only covers build (exact name) and build-*/ (added in 42cd084), leaving a wide class of CMake output directories, IDE tooling files, and coverage artifacts unprotected. This caused build-verify/ to be committed in #170 and required a 1114-file removal commit to clean staging.
Root cause
build (exact) → does not match build-cov/, build-test/, build-clang/, build-msvc/, etc.
- No coverage patterns (
*.gcov, htmlcov/, *.gcda, *.gcno)
- No CMake standalone artifacts (
CMakeCache.txt, cmake_install.cmake, CTestTestfile.cmake, Testing/, install_manifest.txt)
- No tooling files (
compile_commands.json, .clangd/, cscope.*, tags, TAGS, .DS_Store, Thumbs.db)
- No cross-compile cache (
.xwin-cache/)
Fix (two commits)
git rm --cached any tracked files that the updated ignore rules would now cover.
- Rewrite
.gitignore with comprehensive patterns covering all of the above.
Problem
The current
.gitignoreonly coversbuild(exact name) andbuild-*/(added in 42cd084), leaving a wide class of CMake output directories, IDE tooling files, and coverage artifacts unprotected. This causedbuild-verify/to be committed in #170 and required a 1114-file removal commit to clean staging.Root cause
build(exact) → does not matchbuild-cov/,build-test/,build-clang/,build-msvc/, etc.*.gcov,htmlcov/,*.gcda,*.gcno)CMakeCache.txt,cmake_install.cmake,CTestTestfile.cmake,Testing/,install_manifest.txt)compile_commands.json,.clangd/,cscope.*,tags,TAGS,.DS_Store,Thumbs.db).xwin-cache/)Fix (two commits)
git rm --cachedany tracked files that the updated ignore rules would now cover..gitignorewith comprehensive patterns covering all of the above.