summaryrefslogtreecommitdiff
path: root/exec_cmd.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2015-01-15 15:20:09 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2015-01-15 15:42:50 -0800
commit412cb2ec1302364aba862b183210249c2ca7d44e (patch)
tree621eab7ccf12e863a36eb7aca2f573134f982774 /exec_cmd.c
parentCodingGuidelines: avoid "test <cond> -a/-o <cond>" (diff)
downloadtgif-412cb2ec1302364aba862b183210249c2ca7d44e.tar.xz
CodingGuidelines: clarify C #include rules
Even though "advice.h" includes "git-compat-util.h", it is not sensible to have it as the first #include and indirectly satisify the "You must give git-compat-util.h a clean environment to set up feature test macros before including any of the system headers are included", which is the real requirement. Because: - A command that interacts with the object store, config subsystem, the index, or the working tree cannot do anything without using what is declared in "cache.h"; - A built-in command must be declared in "builtin.h", so anything in builtin/*.c must include it; - These two headers both include "git-compat-util.h" as the first thing; and - Almost all our *.c files (outside compat/ and borrowed files in xdiff/) need some Git-ness from "cache.h" to do something Git-ish. let's explicitly specify that one of these three header files must be the first thing that is included. Any of our *.c file should include the header file that directly declares what it uses, instead of relying on the fact that some *.h file it includes happens to include another *.h file that declares the necessary function or type. Spell it out as another guideline item. Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'exec_cmd.c')
0 files changed, 0 insertions, 0 deletions