git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv2 2/3] submodule-config: rename commit_sha1 to commit_or_tree

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 22, 2016, 03:37 UTC
Message-ID
<xmqq8tscgp75.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20161121232709.8906-3-sbeller@google.com>
Stefan Beller <sbeller@google.com> writes:
Show 6 quoted lines
> 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 *").

Show 10 quoted lines
> +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?
Previous: Stefan BellerNext: Stefan Beller
Message 9 of 12 in “[PATCHv2 0/3] submodule-config: clarify/cleanup docs and header”
  1. Stefan BellerNov 21, 2016
  2. 1/3 submodule config: inline config_from_{name, path}Stefan Beller, Nov 21, 2016
  3. Junio C HamanoNov 22, 2016
  4. 2/3 submodule-config: rename commit_sha1 to commit_or_treeStefan Beller, Nov 21, 2016
  5. Brandon WilliamsNov 22, 2016
  6. Stefan BellerNov 22, 2016
  7. Brandon WilliamsNov 22, 2016
  8. Stefan BellerNov 22, 2016
  9. Junio C HamanoNov 22, 2016
  10. Stefan BellerNov 22, 2016
  11. 3/3 submodule-config: clarify parsing of null_sha1 elementStefan Beller, Nov 21, 2016
  12. Brandon WilliamsNov 22, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.