From: Junio C Hamano <gitster@pobox.com>
To: Calvin Wan <calvinwan@google.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 3/6] common.h: move non-compat specific macros and functions from git-compat-util.h
Date: Tue, 16 May 2023 15:30:03 -0700 [thread overview]
Message-ID: <xmqqwn17sydw.fsf@gitster.g> (raw)
In-Reply-To: <20230516170932.1358685-4-calvinwan@google.com> (Calvin Wan's message of "Tue, 16 May 2023 17:09:28 +0000")
Calvin Wan <calvinwan@google.com> writes:
> git-compat-util.h has grown to a large and difficult to read file partly
> because its set of functionality is overloaded. Besides being a
> compatibility file that ensures Git's operation across different
> operating systems, it has also become a dumping ground for commonly used
> macros and static inline functions.
Yeah, compat-util.h started out as a (surprise) "compatibility aid"
that isolates the knowledge of platform specific inclusion order,
what feature macros to define before including which system header
file, etc. "A dumping ground for common stuff"---aptly put ;-).
> This commit separates out macros and static inline functions that are
> compatible across operating systems into common.h.
It sounds a bit too generic a name to me, but OK.
At some level I am more or less indifferent, in the sense that both
compat-util and common need to be included by a .c file anyway,
whether it is _our_ source, or in a future third-party source that
wants to link with the libified part of Git, so it does notreally
make much of a difference if ARRAY_SIZE() is defined in which one of
these two headers. But presumably such a future third-party source
may arrange their own system support using their own counterpart to
compat-util without using ours, and if that is what motivates this
change, I could understand why a more-or-less git-agnostic common.h
could be a good idea.
Everything, other than sane-ctype macros, does look like a generally
useful git-agnostic helper functions. If we were to move in this
direction, I probably would prefer to separate sane-ctype macros in
a separate header, simply because they are _designed_ to override
system supplied ones and some third-party source may not want to use
such a "feature".
next prev parent reply other threads:[~2023-05-16 22:30 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-16 17:09 [PATCH 0/6] git-compat-util cleanups Calvin Wan
2023-05-16 17:09 ` [PATCH 1/6] strbuf.h: move declarations for strbuf.c functions from git-compat-util.h Calvin Wan
2023-05-16 21:18 ` Junio C Hamano
2023-05-16 17:09 ` [PATCH 2/6] wrapper.h: move declarations for wrapper.c " Calvin Wan
2023-05-16 22:08 ` Junio C Hamano
2023-05-16 17:09 ` [PATCH 3/6] common.h: move non-compat specific macros and " Calvin Wan
2023-05-16 22:30 ` Junio C Hamano [this message]
2023-05-17 17:26 ` Calvin Wan
2023-05-16 17:09 ` [PATCH 4/6] usage.h: move declarations for usage.c " Calvin Wan
2023-05-16 17:09 ` [PATCH 5/6] treewide: remove unnecessary includes for wrapper.h Calvin Wan
2023-05-16 17:09 ` [PATCH 6/6] common: move alloc macros to common.h Calvin Wan
2023-05-16 17:54 ` [PATCH 0/6] git-compat-util cleanups Junio C Hamano
2023-05-16 19:00 ` Calvin Wan
2023-05-23 19:27 ` [PATCH v2 0/7] " Calvin Wan
2023-05-23 19:29 ` [PATCH v2 1/7] strbuf.h: move declarations for strbuf.c functions from git-compat-util.h Calvin Wan
2023-05-26 21:06 ` Jonathan Tan
2023-05-23 19:29 ` [PATCH v2 2/7] wrapper.h: move declarations for wrapper.c " Calvin Wan
2023-05-26 21:25 ` Jonathan Tan
2023-05-23 19:29 ` [PATCH v2 3/7] sane-ctype.h: move sane-ctype macros " Calvin Wan
2023-05-26 21:19 ` Jonathan Tan
2023-05-28 12:04 ` Phillip Wood
2023-05-30 17:29 ` Jonathan Tan
2023-06-01 4:12 ` Junio C Hamano
2023-05-23 19:29 ` [PATCH v2 4/7] common.h: move non-compat specific macros and functions " Calvin Wan
2023-05-23 19:29 ` [PATCH v2 5/7] usage.h: move declarations for usage.c " Calvin Wan
2023-05-23 19:29 ` [PATCH v2 6/7] treewide: remove unnecessary includes for wrapper.h Calvin Wan
2023-05-23 19:29 ` [PATCH v2 7/7] common: move alloc macros to common.h Calvin Wan
2023-05-26 21:27 ` Jonathan Tan
2023-05-26 21:03 ` [PATCH v2 0/7] git-compat-util cleanups Jonathan Tan
2023-06-06 17:07 ` [PATCH v3 0/8] " Calvin Wan
2023-06-06 17:09 ` [PATCH v3 1/8] git-compat-util: move strbuf.c funcs to its header Calvin Wan
2023-06-06 17:09 ` [PATCH v3 2/8] git-compat-util: move wrapper.c " Calvin Wan
2023-06-06 17:09 ` [PATCH v3 3/8] sane-ctype.h: create header for sane-ctype macros Calvin Wan
2023-06-06 17:09 ` [PATCH v3 4/8] kwset: move translation table from ctype Calvin Wan
2023-06-06 17:09 ` [PATCH v3 5/8] common.h: move non-compat specific macros and functions Calvin Wan
2023-06-06 22:45 ` Ramsay Jones
2023-06-07 17:02 ` Calvin Wan
2023-06-12 20:48 ` Junio C Hamano
2023-06-13 22:42 ` Calvin Wan
2023-06-13 23:10 ` Junio C Hamano
2023-06-14 1:58 ` Calvin Wan
2023-06-06 17:10 ` [PATCH v3 6/8] git-compat-util: move usage.c funcs to its header Calvin Wan
2023-06-06 17:10 ` [PATCH v3 7/8] treewide: remove unnecessary includes for wrapper.h Calvin Wan
2023-06-06 17:10 ` [PATCH v3 8/8] common: move alloc macros to common.h Calvin Wan
2023-06-30 20:22 ` [PATCH v4 0/6] git-compat-util cleanups Calvin Wan
2023-06-30 20:23 ` [PATCH v4 1/6] git-compat-util: move strbuf.c funcs to its header Calvin Wan
2023-06-30 20:23 ` [PATCH v4 2/6] git-compat-util: move wrapper.c " Calvin Wan
2023-06-30 20:23 ` [PATCH v4 3/6] sane-ctype.h: create header for sane-ctype macros Calvin Wan
2023-06-30 20:23 ` [PATCH v4 4/6] kwset: move translation table from ctype Calvin Wan
2023-06-30 20:23 ` [PATCH v4 5/6] treewide: remove unnecessary includes for wrapper.h Calvin Wan
2023-06-30 20:23 ` [PATCH v4 6/6] common: move alloc macros to common.h Calvin Wan
2023-06-30 22:49 ` Junio C Hamano
2023-07-05 16:25 ` Calvin Wan
2023-07-05 17:33 ` Junio C Hamano
2023-07-05 17:58 ` Calvin Wan
2023-06-30 21:56 ` [PATCH v4 0/6] git-compat-util cleanups Junio C Hamano
2023-07-05 17:08 ` [PATCH v5 " Calvin Wan
2023-07-05 17:09 ` [PATCH v5 1/6] git-compat-util: move strbuf.c funcs to its header Calvin Wan
2023-07-05 17:09 ` [PATCH v5 2/6] git-compat-util: move wrapper.c " Calvin Wan
2023-07-05 17:09 ` [PATCH v5 3/6] sane-ctype.h: create header for sane-ctype macros Calvin Wan
2023-07-05 17:09 ` [PATCH v5 4/6] kwset: move translation table from ctype Calvin Wan
2023-07-05 17:09 ` [PATCH v5 5/6] treewide: remove unnecessary includes for wrapper.h Calvin Wan
2023-07-05 17:09 ` [PATCH v5 6/6] git-compat-util: move alloc macros to git-compat-util.h Calvin Wan
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=xmqqwn17sydw.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=calvinwan@google.com \
--cc=git@vger.kernel.org \
/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.