From: "René Scharfe" <l.s.r@web.de>
To: David Aguilar <davvid@gmail.com>, git@vger.kernel.org
Cc: Jeff King <peff@peff.net>
Subject: Re: [PATCH v3 2/2] headers: include dependent headers
Date: Sun, 07 Sep 2014 12:35:59 +0200 [thread overview]
Message-ID: <540C350F.3080906@web.de> (raw)
In-Reply-To: <1410082617-59230-1-git-send-email-davvid@gmail.com>
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.
> diff --git a/color.h b/color.h
> index 9a8495b..6b50a0f 100644
> --- a/color.h
> +++ b/color.h
> @@ -1,7 +1,8 @@
> #ifndef COLOR_H
> #define COLOR_H
>
> -struct strbuf;
> +#include "git-compat-util.h"
> +#include "strbuf.h"
>
> /* 2 + (2 * num_attrs) + 8 + 1 + 8 + 'm' + NUL */
> /* "\033[1;2;4;5;7;38;5;2xx;48;5;2xxm\0" */
I didn't notice this one the first time around. Isn't the forward
declaration of struct strbuf enough?
> diff --git a/diff.h b/diff.h
> index b4a624d..27f7696 100644
> --- a/diff.h
> +++ b/diff.h
> @@ -6,11 +6,11 @@
>
> #include "tree-walk.h"
> #include "pathspec.h"
> +#include "strbuf.h"
>
> struct rev_info;
> struct diff_options;
> struct diff_queue_struct;
> -struct strbuf;
> struct diff_filespec;
> struct userdiff_driver;
> struct sha1_array;
Same here.
> diff --git a/quote.h b/quote.h
> index 71dcc3a..37f857b 100644
> --- a/quote.h
> +++ b/quote.h
> @@ -1,7 +1,8 @@
> #ifndef QUOTE_H
> #define QUOTE_H
>
> -struct strbuf;
> +#include "git-compat-util.h"
> +#include "strbuf.h"
>
> /* Help to copy the thing properly quoted for the shell safety.
> * any single quote is replaced with '\'', any exclamation point
And here.
> diff --git a/submodule.h b/submodule.h
> index 7beec48..52bb673 100644
> --- a/submodule.h
> +++ b/submodule.h
> @@ -1,8 +1,10 @@
> #ifndef SUBMODULE_H
> #define SUBMODULE_H
>
> -struct diff_options;
> -struct argv_array;
> +#include "git-compat-util.h"
> +#include "diff.h"
> +#include "argv-array.h"
> +#include "string-list.h"
>
> enum {
> RECURSE_SUBMODULES_ON_DEMAND = -1,
Similarly here with structs diff_options and argv_array.
> diff --git a/utf8.c b/utf8.c
> index b30790d..fb9f299 100644
> --- a/utf8.c
> +++ b/utf8.c
> @@ -2,13 +2,6 @@
> #include "strbuf.h"
> #include "utf8.h"
>
> -/* This code is originally from http://www.cl.cam.ac.uk/~mgk25/ucs/ */
> -
> -struct interval {
> - ucs_char_t first;
> - ucs_char_t last;
> -};
> -
> size_t display_mode_esc_sequence_len(const char *s)
> {
> const char *p = s;
> diff --git a/utf8.h b/utf8.h
> index 65d0e42..af855c5 100644
> --- a/utf8.h
> +++ b/utf8.h
> @@ -1,8 +1,17 @@
> #ifndef GIT_UTF8_H
> #define GIT_UTF8_H
>
> +#include "strbuf.h"
> +
> typedef unsigned int ucs_char_t; /* assuming 32bit int */
>
> +/* This code is originally from http://www.cl.cam.ac.uk/~mgk25/ucs/ */
> +
> +struct interval {
> + ucs_char_t first;
> + ucs_char_t last;
> +};
> +
> size_t display_mode_esc_sequence_len(const char *s);
> int utf8_width(const char **start, size_t *remainder_p);
> int utf8_strnwidth(const char *string, int len, int skip_ansi);
The move of struct interval was mentioned in the comment section of
the first patch. Perhaps include a note in the commit message?
> diff --git a/vcs-svn/fast_export.h b/vcs-svn/fast_export.h
> index c8b5adb..7fd5364 100644
> --- a/vcs-svn/fast_export.h
> +++ b/vcs-svn/fast_export.h
> @@ -1,8 +1,9 @@
> #ifndef FAST_EXPORT_H_
> #define FAST_EXPORT_H_
>
> -struct strbuf;
> -struct line_buffer;
> +#include "git-compat-util.h"
> +#include "strbuf.h"
> +#include "vcs-svn/line_buffer.h"
>
> void fast_export_init(int fd);
> void fast_export_deinit(void);
struct strbuf forward declaration vs. including strbuf.h again.
> diff --git a/vcs-svn/repo_tree.h b/vcs-svn/repo_tree.h
> index 889c6a3..3a946f7 100644
> --- a/vcs-svn/repo_tree.h
> +++ b/vcs-svn/repo_tree.h
> @@ -1,7 +1,8 @@
> #ifndef REPO_TREE_H_
> #define REPO_TREE_H_
>
> -struct strbuf;
> +#include "git-compat-util.h"
> +#include "strbuf.h"
>
> #define REPO_MODE_DIR 0040000
> #define REPO_MODE_BLB 0100644
And again.
> diff --git a/vcs-svn/svndiff.h b/vcs-svn/svndiff.h
> index 74eb464..d0cbd51 100644
> --- a/vcs-svn/svndiff.h
> +++ b/vcs-svn/svndiff.h
> @@ -1,8 +1,9 @@
> #ifndef SVNDIFF_H_
> #define SVNDIFF_H_
>
> -struct line_buffer;
> -struct sliding_view;
> +#include "git-compat-util.h"
> +#include "vcs-svn/line_buffer.h"
> +#include "vcs-svn/sliding_window.h"
>
> extern int svndiff0_apply(struct line_buffer *delta, off_t delta_len,
> struct sliding_view *preimage, FILE *postimage);
Similar issue here with different structs.
next prev parent reply other threads:[~2014-09-07 10:36 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 [this message]
2014-09-07 11:01 ` Ramsay Jones
2014-09-07 20:37 ` David Aguilar
2014-09-07 21:57 ` Ramsay Jones
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=540C350F.3080906@web.de \
--to=l.s.r@web.de \
--cc=davvid@gmail.com \
--cc=git@vger.kernel.org \
--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.