This enforces parts of the project header include guidelines (added by @sipa in #10575).
Example run:
$ git diff
diff --git a/src/warnings.cpp b/src/warnings.cpp
index c52a1fd..d8994dd 100644
--- a/src/warnings.cpp
+++ b/src/warnings.cpp
@@ -5,6 +5,8 @@
#include <sync.h>
#include <clientversion.h>
+#include <string>
#include <util.h>
#include <warnings.h>
+#include <util.h>
diff --git a/src/warnings.h b/src/warnings.h
index e8e982c..8d2252e 100644
--- a/src/warnings.h
+++ b/src/warnings.h
@@ -7,6 +7,7 @@
#define BITCOIN_WARNINGS_H
#include <stdlib.h>
#include <string>
+#include <stdlib.h>
void SetMiscWarning(const std::string& strWarning);
$ contrib/devtools/lint-includes.sh
Duplicate include(s) in src/warnings.h:
#include <stdlib.h>
Include(s) from src/warnings.h duplicated in src/warnings.cpp:
#include <string>
Duplicate include(s) in src/warnings.cpp:
#include <util.h>
$ echo $?
1
$ git checkout .
$ contrib/devtools/lint-includes.sh
$ echo $?
0