# KEEP THIS COMMENT IN YOUR COPY.
#
# Don't delete this file if you want to keep keyword_check enabled even if it's
# empty.
#
# See repohooks/README.md for more details.

black.?list
# The string that matches this is actually "build copies".
build.?cop
dummy
# This occurs in third-party patches.
insane
\bhe\b
\bshe\b
\bhim\b
\bher\b
\bhis\b
master
# One occurrence of this is in a package name, the others are false
# positives such as "commitments".
mitm
\bnative
red.?line
sane
sanity
# This occurs in third-party licenses and patches.
slave
white.?label
white.?list
wtf
