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

Re: [PATCH 06/15] submodule init: redirect stdout to stderr

From
Stefan Beller <sbeller@google.com>
Date
Apr 29, 2016, 18:38 UTC
Message-ID
<CAGZ79kawUMng_hPju3MDW2xFmKkhqOQMVihFTA+7Wt0EaNdpug@mail.gmail.com>
In-Reply-To
<xmqqy47wxocr.fsf@gitster.mtv.corp.google.com>
On Fri, Apr 29, 2016 at 11:27 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> Stefan Beller <sbeller@google.com> writes:
>
>> Reroute the output of stdout to stderr as it is just informative
>> messages, not to be consumed by machines.
>>
>> We want to init submodules from the helper for `submodule update`
>> in a later patch and the stdout output of said helper is consumed
>> by the parts of `submodule update` which are still written in shell.
>> So we have to be careful which messages are on stdout.
>>
>> Signed-off-by: Stefan Beller <sbeller@google.com>
>> ---
>
> I do not mind if this step is split out and queued as a separate
> follow-up to sb/submodule-init.  The grouping and labelling is a
> bigger and more important change that deserves attention without
> distraction than this single step, and making as many such things
> graduate and allowing us to forget about them is better ;-)
Care to apply this onto the sb/submodule-init then?

(It applies cleanly for me on top of "submodule--helper update-clone: abort gracefully on missing .gitmodules")

I'll drop this patch in the groups series.

Thanks, Stefan

Show 66 quoted lines
>
>>  builtin/submodule--helper.c |  3 ++-
>>  t/t7406-submodule-update.sh | 24 ++++++++++++++++++------
>>  2 files changed, 20 insertions(+), 7 deletions(-)
>>
>> diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
>> index 23d7224..7b9a4d7 100644
>> --- a/builtin/submodule--helper.c
>> +++ b/builtin/submodule--helper.c
>> @@ -362,7 +362,8 @@ static void init_submodule(const char *path, const char *prefix, int quiet)
>>                       die(_("Failed to register url for submodule path '%s'"),
>>                           displaypath);
>>               if (!quiet)
>> -                     printf(_("Submodule '%s' (%s) registered for path '%s'\n"),
>> +                     fprintf(stderr,
>> +                             _("Submodule '%s' (%s) registered for path '%s'\n"),
>>                               sub->name, url, displaypath);
>>       }
>>
>> diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
>> index fd741f5..5f27879 100755
>> --- a/t/t7406-submodule-update.sh
>> +++ b/t/t7406-submodule-update.sh
>> @@ -108,24 +108,36 @@ pwd=$(pwd)
>>
>>  cat <<EOF >expect
>>  Submodule path '../super': checked out '$supersha1'
>> -Submodule 'merging' ($pwd/merging) registered for path '../super/merging'
>> -Submodule 'none' ($pwd/none) registered for path '../super/none'
>> -Submodule 'rebasing' ($pwd/rebasing) registered for path '../super/rebasing'
>> -Submodule 'submodule' ($pwd/submodule) registered for path '../super/submodule'
>>  Submodule path '../super/merging': checked out '$mergingsha1'
>>  Submodule path '../super/none': checked out '$nonesha1'
>>  Submodule path '../super/rebasing': checked out '$rebasingsha1'
>>  Submodule path '../super/submodule': checked out '$submodulesha1'
>>  EOF
>>
>> +cat <<EOF >expect2
>> +Submodule 'merging' ($pwd/merging) registered for path '../super/merging'
>> +Submodule 'none' ($pwd/none) registered for path '../super/none'
>> +Submodule 'rebasing' ($pwd/rebasing) registered for path '../super/rebasing'
>> +Submodule 'submodule' ($pwd/submodule) registered for path '../super/submodule'
>> +Cloning into '$pwd/recursivesuper/super/merging'...
>> +done.
>> +Cloning into '$pwd/recursivesuper/super/none'...
>> +done.
>> +Cloning into '$pwd/recursivesuper/super/rebasing'...
>> +done.
>> +Cloning into '$pwd/recursivesuper/super/submodule'...
>> +done.
>> +EOF
>> +
>>  test_expect_success 'submodule update --init --recursive from subdirectory' '
>>       git -C recursivesuper/super reset --hard HEAD^ &&
>>       (cd recursivesuper &&
>>        mkdir tmp &&
>>        cd tmp &&
>> -      git submodule update --init --recursive ../super >../../actual
>> +      git submodule update --init --recursive ../super >../../actual 2>../../actual2
>>       ) &&
>> -     test_cmp expect actual
>> +     test_cmp expect actual &&
>> +     test_cmp expect2 actual2
>>  '
>>
>>  apos="'";
Previous: Junio C HamanoNext: Stefan Beller
Message 23 of 48 in “submodule groups (once again)”
  1. 00/15 submodule groups (once again)Stefan Beller, Apr 26, 2016
  2. 01/15 string_list: add string_list_duplicateStefan Beller, Apr 26, 2016
  3. Junio C HamanoApr 26, 2016
  4. Stefan BellerApr 27, 2016
  5. Junio C HamanoApr 27, 2016
  6. Stefan BellerApr 27, 2016
  7. Junio C HamanoApr 27, 2016
  8. Stefan BellerApr 27, 2016
  9. 02/15 submodule doc: write down what we want to achieve in this seriesStefan Beller, Apr 26, 2016
  10. Junio C HamanoApr 26, 2016
  11. 03/15 submodule add: label submodules if asked toStefan Beller, Apr 26, 2016
  12. Junio C HamanoApr 26, 2016
  13. Jacob KellerApr 26, 2016
  14. Stefan BellerApr 26, 2016
  15. Jacob KellerApr 27, 2016
  16. 04/15 submodule-config: keep labels aroundStefan Beller, Apr 26, 2016
  17. 05/15 submodule-config: check if submodule a submodule is in a groupStefan Beller, Apr 26, 2016
  18. Junio C HamanoApr 26, 2016
  19. Junio C HamanoApr 26, 2016
  20. Stefan BellerApr 27, 2016
  21. 06/15 submodule init: redirect stdout to stderrStefan Beller, Apr 26, 2016
  22. Junio C HamanoApr 29, 2016
  23. Stefan BellerApr 29, 2016
  24. 07/15 submodule deinit: loose requirement for giving '.'Stefan Beller, Apr 26, 2016
  25. Junio C HamanoApr 29, 2016
  26. 08/15 submodule--helper list: respect submodule groupsStefan Beller, Apr 26, 2016
  27. Junio C HamanoApr 29, 2016
  28. 09/15 submodule--helper init: respect submodule groupsStefan Beller, Apr 26, 2016
  29. 10/15 submodule--helper update_clone: respect submodule groupsStefan Beller, Apr 26, 2016
  30. 11/15 diff: ignore submodules excluded by groupsStefan Beller, Apr 26, 2016
  31. Junio C HamanoApr 29, 2016
  32. Stefan BellerApr 29, 2016
  33. Stefan BellerMay 5, 2016
  34. Junio C HamanoMay 5, 2016
  35. Stefan BellerMay 5, 2016
  36. Junio C HamanoMay 5, 2016
  37. Stefan BellerMay 5, 2016
  38. Junio C HamanoMay 5, 2016
  39. Junio C HamanoMay 6, 2016
  40. Stefan BellerMay 6, 2016
  41. Junio C HamanoMay 6, 2016
  42. 12/15 git submodule summary respects groupsStefan Beller, Apr 26, 2016
  43. Junio C HamanoApr 29, 2016
  44. 13/15 cmd_status: respect submodule groupsStefan Beller, Apr 26, 2016
  45. 14/15 cmd_diff: respect submodule groupsStefan Beller, Apr 26, 2016
  46. 15/15 clone: allow specification of submodules to be clonedStefan Beller, Apr 26, 2016
  47. Junio C HamanoApr 26, 2016
  48. Junio C HamanoApr 26, 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.