From: Junio C Hamano <gitster@pobox.com>
To: Michael Haggerty <mhagger@alum.mit.edu>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 07/19] Provide access to the name attribute of git_attr
Date: Wed, 27 Jul 2011 13:02:38 -0700 [thread overview]
Message-ID: <7vr55bo47e.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: 1311689582-3116-8-git-send-email-mhagger@alum.mit.edu
Michael Haggerty <mhagger@alum.mit.edu> writes:
> It will be present in any likely future reimplementation, and its
> availability simplifies other code.
Looks good to me except for minor nits.
> struct git_attr is an opaque structure containing, among other things,
> the name of the attribute that it represents. This patch adds a
> function git_attr_name(struct git_attr *) that allows the name to be
> read from the structure. This functionality will be convenient for
> later patches.
>
> This seems harmless to me. It is hardly conceivable that the
> implementation will change so dramatically that it becomes impossible
> to derive the attribute name from the git_attr.
The original design of attribute API wanted to make sure that the callers
do not have to care what _other_ attributes are on the path, and defined
only "if you have a specific name, you can ask if that is set". Of course
once you start wanting to enumerate the attributes without knowing what
attributes may exist in the world, you would need an API to grab all the
attributes and then find out the name of each of them. So I think this is
not just harmless but is necessary.
> diff --git a/attr.c b/attr.c
> ...
> +char *git_attr_name(struct git_attr *attr) {
> + return attr->name;
> +}
(Style)
char *git_attr_name(struct git_attr *attr)
{
return attr->name;
}
> diff --git a/attr.h b/attr.h
> ...
> +/*
> + * Return the name of the attribute represented by the argument. The
> + * return value is a pointer to a null-delimited string that is part
> + * of the internal data structure; it should not be modified or freed.
> + */
should not be modified NOR freed?
next prev parent reply other threads:[~2011-07-27 20:32 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-26 14:12 [PATCH 00/19] Add --all option to git-check-attr Michael Haggerty
2011-07-26 14:12 ` [PATCH 01/19] doc: Add a link from gitattributes(5) to git-check-attr(1) Michael Haggerty
2011-07-26 14:12 ` [PATCH 02/19] doc: Correct git_attr() calls in example code Michael Haggerty
2011-07-26 14:12 ` [PATCH 03/19] Remove anachronism from comment Michael Haggerty
2011-07-26 14:12 ` [PATCH 04/19] Disallow the empty string as an attribute name Michael Haggerty
2011-07-27 20:20 ` Junio C Hamano
2011-07-26 14:12 ` [PATCH 05/19] git-check-attr: Add missing "&&" Michael Haggerty
2011-07-26 14:12 ` [PATCH 06/19] git-check-attr: Add tests of command-line parsing Michael Haggerty
2011-07-26 14:12 ` [PATCH 07/19] Provide access to the name attribute of git_attr Michael Haggerty
2011-07-27 20:02 ` Junio C Hamano [this message]
2011-07-28 4:27 ` Michael Haggerty
2011-07-26 14:12 ` [PATCH 08/19] git-check-attr: Use git_attr_name() Michael Haggerty
2011-07-26 14:12 ` [PATCH 09/19] Allow querying all attributes on a file Michael Haggerty
2011-07-26 14:12 ` [PATCH 10/19] git-check-attr: Extract a function output_attr() Michael Haggerty
2011-07-26 14:12 ` [PATCH 11/19] git-check-attr: Introduce a new variable Michael Haggerty
2011-07-26 14:12 ` [PATCH 12/19] git-check-attr: Extract a function error_with_usage() Michael Haggerty
2011-07-26 14:12 ` [PATCH 13/19] git-check-attr: Handle each error separately Michael Haggerty
2011-07-26 14:12 ` [PATCH 14/19] git-check-attr: Process command-line args more systematically Michael Haggerty
2011-07-26 14:12 ` [PATCH 15/19] git-check-attr: Error out if no pathnames are specified Michael Haggerty
2011-07-26 14:12 ` [PATCH 16/19] git-check-attr: Add an --all option to show all attributes Michael Haggerty
2011-07-28 4:31 ` Michael Haggerty
2011-07-26 14:13 ` [PATCH 17/19] git-check-attr: Drive two tests using the same raw data Michael Haggerty
2011-07-26 14:13 ` [PATCH 18/19] git-check-attr: Fix command-line handling to match docs Michael Haggerty
2011-07-26 14:13 ` [PATCH 19/19] Rename struct git_attr_check to git_attr_value Michael Haggerty
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=7vr55bo47e.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=mhagger@alum.mit.edu \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).