zephyr/.gitignore
Marc Herbert bab7df9f9e .gitignore: do not ignore .\#* files
I just wasted dozens of failed build attempts and more than 5 minutes
staring at this cryptic build error:

```
Traceback (most recent call last):
  File "scripts/build/parse_syscalls.py", line 216, in <module>
    main()
  File "scripts/build/parse_syscalls.py", line 194, in main
    syscalls, tagged = analyze_headers(args.include, args.scan,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "scripts/build/parse_syscalls.py", line 118, in analyze_headers
    with open(one_file, "r", encoding="utf-8") as fp:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory:

                  'zephyr/include/zephyr/pm/.#device.h'
```

Because this file didn't show in `git status`, I kept believing that
building from scratch would make it go away.

`git status` should never hide source files that the build system uses.
Maybe `parse_syscalls.py` should be "Emacs-aware"? Or maybe not. As long
as it's not, `git status` must show every spurious file that might
affect the build and break it.

This is the first time that I see an error like this; so Emacs does not
leave files like this behind on a regular basis. Only when there
is a some sort of glitch; and then we definitely want to know about it.

More generally speaking, the choice of an editor is a personal
preference. So patterns matching Emacs files belong to personal
$HOME/.gitignore files; they shouldn't be mass-duplicated into every
single git repo instead. Stuffing every project with editor-specific
configuration of every editor obviously does not scale. But that's
probably for another day.

This is a partial revert of commit 3f4159c5c7 ("gitignore: Ignore
emacs temporary edit files")

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-06-11 19:44:54 -04:00

94 lines
1.1 KiB
Plaintext

*.o
*.a
*.d
*.cmd
*.log
*.pyc
*.swp
*.swo
*~
# Emacs
\#*\#
build*/
!doc/build/
!scripts/build
!tests/drivers/build_all
!scripts/pylib/build_helpers
cscope.*
.dir
/*.patch
# The .cache directory will be used to cache toolchain capabilities if
# no suitable out-of-tree directory is found.
.cache
outdir
outdir-*
scripts/basic/fixdep
scripts/gen_idt/gen_idt
coverage-report
doc-coverage.info
doc/_build
doc/doxygen
doc/xml
doc/html
doc/boards
doc/samples
doc/latex
doc/themes/zephyr-docs-theme
sanity-out*
twister-out*
bsim_out
bsim_bt_out
myresults.xml
tests/RunResults.xml
scripts/grub
doc/reference/kconfig/*.rst
doc/doc.warnings
.*project
.settings
.envrc
.vscode
hide-defaults-note
venv
.venv
.DS_Store
.clangd
new.info
# CI output
compliance.xml
_error.types
# Tag files
GPATH
GRTAGS
GTAGS
TAGS
tags
.idea
# from check_compliance.py
BinaryFiles.txt
BoardYml.txt
Checkpatch.txt
DevicetreeBindings.txt
GitDiffCheck.txt
Gitlint.txt
Identity.txt
ImageSize.txt
Kconfig.txt
KconfigBasic.txt
KconfigBasicNoModules.txt
KconfigHWMv2.txt
KeepSorted.txt
MaintainersFormat.txt
ModulesMaintainers.txt
Nits.txt
Pylint.txt
YAMLLint.txt