There were about 14 files that are actually in the repo but that are
covered by the rules in .gitignore.
Git itself takes no notice of what .gitignore says about files that
it's already tracking... but the discrepancy can be confusing to a
human that adds a new file unexpectedly covered by these rules, as
well as to non-Git software that looks at .gitignore but doesn't
implement this wrinkle in its semantics. (E.g., `rg`.)
Several of these are from rules that apply more broadly than
intended: for example, `Makefile` applies to `Doc/Makefile` and
`Tools/freeze/test/Makefile`, whereas `/Makefile` means only the
`Makefile` at the repo's root.
And the `Modules/Setup` rule simply wasn't updated after
961d54c5c.
https://bugs.python.org/issue37936
Lib/distutils/command/*.pdb
Lib/lib2to3/*.pickle
Lib/test/data/*
-Makefile
+!Lib/test/data/README
+/Makefile
Makefile.pre
Misc/python.pc
Misc/python-embed.pc
Misc/python-config.sh
-Modules/Setup
Modules/Setup.config
Modules/Setup.local
Modules/config.c
config.status
config.status.lineno
core
+!Tools/msi/core/
db_home
.hg/
.idea/
libpython*.dll
platform
pybuilddir.txt
-pyconfig.h
+/pyconfig.h
python-config
python-config.py
python.bat
--- /dev/null
+The :file:`.gitignore` file no longer applies to any files that are in fact
+tracked in the Git repository. Patch by Greg Price.