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

Re: [PATCH 4/6] Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option

From
Jens Lehmann <jens.lehmann@web.de>
Date
Feb 24, 2011, 20:44 UTC
Message-ID
<4D66C32E.5090103@web.de>
In-Reply-To
<7vei6y5ol6.fsf@alter.siamese.dyndns.org>
Am 24.02.2011 00:16, schrieb Junio C Hamano:
Show 14 quoted lines
> Jens Lehmann <Jens.Lehmann@web.de> writes:
> 
>> diff --git a/submodule.c b/submodule.c
>> index cccd728..b477c3c 100644
>> --- a/submodule.c
>> +++ b/submodule.c
>> @@ -113,7 +113,7 @@ int parse_submodule_config_option(const char *var, const char *value)
>>  		if (!config)
>>  			config = string_list_append(&config_fetch_recurse_submodules_for_name,
>>  						    strbuf_detach(&submodname, NULL));
>> -		config->util = git_config_bool(var, value) ? (void *)1 : NULL;
>> +		config->util = (void *)(size_t)parse_fetch_recurse_submodules_arg(value);
> 
> What is this double-cast about?

64bit gcc warns when I drop either of them because a 32bit integer is assigned to a 64bit wide pointer here.

Show 8 quoted lines
>> @@ -376,8 +376,13 @@ int fetch_populated_submodules(int num_options, const char **options,
>> ...
>> +				if ((size_t)fetch_recurse_submodules_option->util == RECURSE_SUBMODULES_OFF)
>>  					continue;
>> +				if ((size_t)fetch_recurse_submodules_option->util == RECURSE_SUBMODULES_ON_DEMAND) {
> 
> Likewise here; size_t feels a strange type to cast to in this comparison
> between (void *) and an enum, no?

I get a warning here if I drop the second cast. gcc doesn't warn if I drop the first one, but that is just because the enum value happens to be 0 there. So I added that cast there too to be on the safe side in case the value changes in the future and to be consistent to other readers of this code.

Previous: Junio C HamanoNext: Jens Lehmann
Message 15 of 23 in “Teach fetch/pull the on-demand mode and make it the default”
  1. 0/6 Teach fetch/pull the on-demand mode and make it the defaultJens Lehmann, Feb 23, 2011
  2. 1/6 fetch/pull: recurse into submodules when necessaryJens Lehmann, Feb 23, 2011
  3. Junio C HamanoFeb 23, 2011
  4. Jens LehmannFeb 23, 2011
  5. Jonathan NiederFeb 24, 2011
  6. Jonathan NiederFeb 23, 2011
  7. Jens LehmannFeb 23, 2011
  8. Jonathan NiederFeb 23, 2011
  9. 2/6 fetch/pull: Add the 'on-demand' value to the --recurse-submodules optionJens Lehmann, Feb 23, 2011
  10. Jonathan NiederFeb 23, 2011
  11. Jonathan NiederFeb 23, 2011
  12. 3/6 config: teach the fetch.recurseSubmodules option the 'on-demand' valueJens Lehmann, Feb 23, 2011
  13. 4/6 Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' optionJens Lehmann, Feb 23, 2011
  14. Junio C HamanoFeb 23, 2011
  15. Jens LehmannFeb 24, 2011
  16. 5/6 fetch/pull: Don't recurse into a submodule when commits are already presentJens Lehmann, Feb 23, 2011
  17. Junio C HamanoFeb 23, 2011
  18. Jens LehmannFeb 23, 2011
  19. Jens LehmannFeb 24, 2011
  20. 6/6 submodule update: Don't fetch when the submodule commit is already presentJens Lehmann, Feb 23, 2011
  21. Junio C HamanoFeb 23, 2011
  22. Jonathan NiederFeb 23, 2011
  23. Jens LehmannFeb 23, 2011

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.