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

Re: [PATCH v3 08/13] submodule--helper run-update-procedure: learn --remote

From
Glen Choo <chooglen@google.com>
Date
Mar 4, 2022, 21:29 UTC
Message-ID
<kl6lczj14dac.fsf@chooglen-macbookpro.roam.corp.google.com>
In-Reply-To
<xmqq4k4eafdf.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 55 quoted lines
> Glen Choo <chooglen@google.com> writes:
>
>> @@ -3033,6 +3004,25 @@ static int update_submodule2(struct update_data *update_data)
>>  		die(_("Unable to find current revision in submodule path '%s'"),
>>  			update_data->displaypath);
>>  
>> +	if (update_data->remote) {
>> +		char *remote_name = get_default_remote_submodule(update_data->sm_path);
>> +		const char *branch = remote_submodule_branch(update_data->sm_path);
>> +		char *remote_ref = xstrfmt("refs/remotes/%s/%s", remote_name, branch);
>> +
>> +		if (!update_data->nofetch) {
>> +			if (fetch_in_submodule(update_data->sm_path, update_data->depth,
>> +					      0, NULL))
>> +				die(_("Unable to fetch in submodule path '%s'"),
>> +				    update_data->sm_path);
>> +		}
>> +
>> +		if (resolve_gitlink_ref(update_data->sm_path, remote_ref, &update_data->oid))
>> +			die(_("Unable to find %s revision in submodule path '%s'"),
>> +			    remote_ref, update_data->sm_path);
>> +
>> +		free(remote_ref);
>> +	}
>
> This, and ...
>
>> @@ -409,21 +395,6 @@ cmd_update()
>>  			just_cloned=
>>  		fi
>>  
>> -		if test -n "$remote"
>> -		then
>> -			branch=$(git submodule--helper remote-branch "$sm_path")
>> -			if test -z "$nofetch"
>> -			then
>> -				# Fetch remote before determining tracking $sha1
>> -				fetch_in_submodule "$sm_path" $depth ||
>> -				die "fatal: $(eval_gettext "Unable to fetch in submodule path '\$sm_path'")"
>> -			fi
>> -			remote_name=$(sanitize_submodule_env; cd "$sm_path" && git submodule--helper print-default-remote)
>> -			sha1=$(sanitize_submodule_env; cd "$sm_path" &&
>> -				git rev-parse --verify "${remote_name}/${branch}") ||
>> -			die "fatal: $(eval_gettext "Unable to find current \${remote_name}/\${branch} revision in submodule path '\$sm_path'")"
>> -		fi
>
> ... this change would "fix" the temporary breakage [05/13] may have
> brought us.  From the series structure's point of view, doing
> [05/13] after this would be more sensible.  If we leave the call to
> "displaypath" still in the script after this series, [05/13] or its
> equivalent should mention that ensure-core-worktree does not matter
> for that particular call when it delays the call to it by moving it
> to the beginning of the update_submodule2() from the much earlier
> part of the script.
>

I should've read this in full before sending my reply on [05/13]. Makes sense, thanks for the pointer :)

Show 10 quoted lines
>>  		out=$(git submodule--helper run-update-procedure \
>>  			  ${wt_prefix:+--prefix "$wt_prefix"} \
>>  			  ${GIT_QUIET:+--quiet} \
>> @@ -434,6 +405,7 @@ cmd_update()
>>  			  ${update:+--update "$update"} \
>>  			  ${prefix:+--recursive-prefix "$prefix"} \
>>  			  ${sha1:+--oid "$sha1"} \
>> +			  ${remote:+--remote} \
>>  			  "--" \
>>  			  "$sm_path")
Previous: Junio C HamanoNext: Glen Choo
Message 53 of 75 in “submodule: convert parts of 'update' to C”
  1. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 1, 2022
  2. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 1, 2022
  3. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 1, 2022
  4. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 1, 2022
  5. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 1, 2022
  6. 05/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 1, 2022
  7. 06/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 1, 2022
  8. Junio C HamanoMar 1, 2022
  9. Glen ChooMar 1, 2022
  10. 07/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 1, 2022
  11. 09/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 1, 2022
  12. 08/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 1, 2022
  13. 10/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 1, 2022
  14. 11/13 submodule--helper update-clone: learn --initGlen Choo, Mar 1, 2022
  15. 12/13 submodule update: add tests for --filterGlen Choo, Mar 1, 2022
  16. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 1, 2022
  17. Glen ChooMar 1, 2022
  18. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 1, 2022
  19. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 1, 2022
  20. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 1, 2022
  21. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 1, 2022
  22. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 1, 2022
  23. 05/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 1, 2022
  24. 06/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 1, 2022
  25. Ævar Arnfjörð BjarmasonMar 1, 2022
  26. 07/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 1, 2022
  27. 08/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 1, 2022
  28. 09/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 1, 2022
  29. Ævar Arnfjörð BjarmasonMar 1, 2022
  30. 10/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 1, 2022
  31. 12/13 submodule update: add tests for --filterGlen Choo, Mar 1, 2022
  32. Ævar Arnfjörð BjarmasonMar 1, 2022
  33. Glen ChooMar 1, 2022
  34. 11/13 submodule--helper update-clone: learn --initGlen Choo, Mar 1, 2022
  35. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 1, 2022
  36. Ævar Arnfjörð BjarmasonMar 1, 2022
  37. Junio C HamanoMar 1, 2022
  38. Glen ChooMar 1, 2022
  39. Ævar Arnfjörð BjarmasonMar 3, 2022
  40. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 3, 2022
  41. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 3, 2022
  42. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 3, 2022
  43. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 3, 2022
  44. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 3, 2022
  45. Junio C HamanoMar 3, 2022
  46. 05/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 3, 2022
  47. Junio C HamanoMar 3, 2022
  48. Glen ChooMar 4, 2022
  49. 06/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 3, 2022
  50. 07/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 3, 2022
  51. 08/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 3, 2022
  52. Junio C HamanoMar 3, 2022
  53. Glen ChooMar 4, 2022
  54. 09/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 3, 2022
  55. 10/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 3, 2022
  56. 11/13 submodule--helper update-clone: learn --initGlen Choo, Mar 3, 2022
  57. 12/13 submodule update: add tests for --filterGlen Choo, Mar 3, 2022
  58. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 3, 2022
  59. Ævar Arnfjörð BjarmasonMar 3, 2022
  60. Junio C HamanoMar 3, 2022
  61. 00/13 submodule: convert parts of 'update' to CGlen Choo, Mar 5, 2022
  62. 01/13 submodule tests: test for init and update failure outputGlen Choo, Mar 5, 2022
  63. 04/13 submodule--helper run-update-procedure: remove --suboidGlen Choo, Mar 5, 2022
  64. 03/13 submodule--helper: reorganize code for sh to C conversionGlen Choo, Mar 5, 2022
  65. 02/13 submodule--helper: remove update-module-modeGlen Choo, Mar 5, 2022
  66. 05/13 submodule--helper: get remote names from any repositoryGlen Choo, Mar 5, 2022
  67. 06/13 submodule--helper: don't use bitfield indirection for parse_options()Glen Choo, Mar 5, 2022
  68. 07/13 submodule--helper run-update-procedure: learn --remoteGlen Choo, Mar 5, 2022
  69. 08/13 submodule--helper: refactor get_submodule_displaypath()Glen Choo, Mar 5, 2022
  70. 09/13 submodule--helper: allow setting superprefix for init_submodule()Glen Choo, Mar 5, 2022
  71. 10/13 submodule--helper update-clone: learn --initGlen Choo, Mar 5, 2022
  72. 11/13 submodule--helper: remove ensure-core-worktreeGlen Choo, Mar 5, 2022
  73. 13/13 submodule--helper update-clone: check for --filter and --initGlen Choo, Mar 5, 2022
  74. 12/13 submodule update: add tests for --filterGlen Choo, Mar 5, 2022
  75. Junio C HamanoMar 5, 2022

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.