All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
To: David Aguilar <davvid@gmail.com>
Cc: "René Scharfe" <l.s.r@web.de>,
	git@vger.kernel.org, "Jeff King" <peff@peff.net>,
	"Jonathan Nieder" <jrnieder@gmail.com>
Subject: Re: [PATCH v3 2/2] headers: include dependent headers
Date: Sun, 07 Sep 2014 22:57:56 +0100	[thread overview]
Message-ID: <540CD4E4.7060600@ramsay1.demon.co.uk> (raw)
In-Reply-To: <20140907203715.GB61326@gmail.com>

On 07/09/14 21:37, David Aguilar wrote:
> On Sun, Sep 07, 2014 at 12:01:00PM +0100, Ramsay Jones wrote:
>> On 07/09/14 11:35, René Scharfe wrote:
>>> Am 07.09.2014 um 11:36 schrieb David Aguilar:
>>>> Add dependent headers so that including a header does not
>>>> require including additional headers.
>>>>
>>>> This makes it so that "gcc -c $header" succeeds for each header.
>>>
>>>> diff --git a/cache.h b/cache.h
>>>> index 4d5b76c..8b827d7 100644
>>>> --- a/cache.h
>>>> +++ b/cache.h
>>>> @@ -1,7 +1,6 @@
>>>>   #ifndef CACHE_H
>>>>   #define CACHE_H
>>>>
>>>> -#include "git-compat-util.h"
>>>>   #include "strbuf.h"
>>>>   #include "hashmap.h"
>>>>   #include "advice.h"
>>>
>>> Oh, that's a new change and worth mentioning in the commit message.
>>
>> Hmm, does this not break git? Unless you also change each '.c' file which
>> includes cache.h to also include git-compat-util.h first, then I suspect
>> (if nothing else) file I/O may be broken. (see _FILE_OFFSET_BITS).
>>
>> Also, see Documentation/CodingGuidelines (lines 331-333).
> 
> This one should be okay because hashmap.h includes git-compat-util.h.

It is important that each compilation unit include 'git-compat-util.h'
at the start. From the CodingGuidelines we see that 'cache.h' and
'builtin.h' are *blessed* headers which can be used instead. (I have
always thought that this was a mistake; it would be much easier to
just stick to using 'git-compat-util.h' at the top of each '.c' file ;-)

The fact that hashmap.h happens to include git-compat-util.h is not
at all relevant here.

> 
> Jonathan will be re-rolling so I'll definitely read and test the
> patches when they're ready.  They'll probably be a more focused,
> surgical change then this version.

OK.

ATB,
Ramsay Jones

      reply	other threads:[~2014-09-07 21:58 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-07  9:36 [PATCH v3 2/2] headers: include dependent headers David Aguilar
2014-09-07 10:35 ` René Scharfe
2014-09-07 11:01   ` Ramsay Jones
2014-09-07 20:37     ` David Aguilar
2014-09-07 21:57       ` Ramsay Jones [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=540CD4E4.7060600@ramsay1.demon.co.uk \
    --to=ramsay@ramsay1.demon.co.uk \
    --cc=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=l.s.r@web.de \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.