From: Junio C Hamano <gitster@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: git@vger.kernel.org, bmwill@google.com, jacob.keller@gmail.com
Subject: Re: [PATCHv2 2/3] submodule-config: rename commit_sha1 to commit_or_tree
Date: Mon, 21 Nov 2016 19:37:18 -0800 [thread overview]
Message-ID: <xmqq8tscgp75.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <20161121232709.8906-3-sbeller@google.com> (Stefan Beller's message of "Mon, 21 Nov 2016 15:27:08 -0800")
Stefan Beller <sbeller@google.com> writes:
> It is also possible to pass in a tree hash to lookup a submodule config.
> Make it clear by naming the variables accrodingly. Looking up a submodule
> config by tree hash will come in handy in a later patch.
>
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
Yeah, I noticed that while reading the previous round, too, but...
> -`const struct submodule *submodule_from_name(const unsigned char *commit_sha1, const char *name)`::
> +`const struct submodule *submodule_from_name(const unsigned char *commit_or_tree, const char *name)`::
>
> The same as above but lookup by name.
Doesn't (the) "above", aka submodule_from_path() want the same
treatment?
Also the explanation of "above" has room for improvement. Namely it
says:
Lookup values for one submodule by its commit_sha1 and path.
I do not think the commit-sha1 (or commit-or-tree-object-name) is
"ITS" object name for the submodule. The name belongs to the
containing superproject commit (or tree), no?
Given a tree-ish in the superproject and a path, return the
submodule that is bound at the path in the named tree.
is what I would write for that one. Thinking about it a bit
further, "treeish_name" would be a much better name for the variable
than "commit_or_tree", as "treeish" is an established short and
sweet word that means "commit_or_tree", and having a "name"
somewhere in the variable name makes it clear that we are not
passing the pointer to an in-core object (e.g. "struct commit *").
> +test_expect_success 'using tree sha1 works' '
> + (
> + cd super &&
> + tree=$(git rev-parse HEAD^{tree}) &&
> + commit=$(git rev-parse HEAD^{commit}) &&
> + test-submodule-config $commit b >expect &&
> + test-submodule-config $tree b >actual &&
> + test_cmp expect actual
> + )
> +'
Perhaps also test a tag that points at the commit?
next prev parent reply other threads:[~2016-11-22 3:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-21 23:27 [PATCHv2 0/3] submodule-config: clarify/cleanup docs and header Stefan Beller
2016-11-21 23:27 ` [PATCHv2 1/3] submodule config: inline config_from_{name, path} Stefan Beller
2016-11-22 3:27 ` Junio C Hamano
2016-11-21 23:27 ` [PATCHv2 2/3] submodule-config: rename commit_sha1 to commit_or_tree Stefan Beller
2016-11-22 0:11 ` Brandon Williams
2016-11-22 0:15 ` Stefan Beller
2016-11-22 0:16 ` Brandon Williams
2016-11-22 1:25 ` Stefan Beller
2016-11-22 3:37 ` Junio C Hamano [this message]
2016-11-22 20:03 ` Stefan Beller
2016-11-21 23:27 ` [PATCHv2 3/3] submodule-config: clarify parsing of null_sha1 element Stefan Beller
2016-11-22 0:09 ` Brandon Williams
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=xmqq8tscgp75.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=bmwill@google.com \
--cc=git@vger.kernel.org \
--cc=jacob.keller@gmail.com \
--cc=sbeller@google.com \
/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.