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

[PATCH v2 0/1] submodule: corret an incorrectly formatted error message

From
Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Date
Sep 18, 2021, 19:31 UTC
Message-ID
<20210918193116.310575-1-kaartic.sivaraam@gmail.com>
In-Reply-To
<20210805192803.679948-1-kaartic.sivaraam@gmail.com>
Hi all,
Finally got a chance to send the v2 of this one.
Changes in v2:
- Removed the 'if' from the message as Atharva mentioned that it was
  added inadvertently
- Moved 'fatal:' prefix from middle of the message to the beginning.
- Expanded the commit message to also mention the output after the change
For reference, the v1 could be found here:
  https://public-inbox.org/git/20210805192803.679948-1-kaartic.sivaraam@gmail.com/
... and the range-diff against v1 could be found below. Reviews appreciated.

-- Sivaraam

Kaartic Sivaraam (1):
  submodule--helper: fix incorrect newlines in an error message
 builtin/submodule--helper.c | 36 ++++++++++++++++++++++--------------
 1 file changed, 22 insertions(+), 14 deletions(-)
Range-diff against v1:
1:  c00617bc03 ! 1:  c6daed7a92 submodule--helper: fix incorrect newlines in an error message
    @@ Commit message
     
         After the refactoring the error started appearing like so:
     
    -     --- START OF OUTPUT ---
    +      --- START OF OUTPUT ---
           $ git submodule add ../sub/ subm
           A git directory for 'subm' is found locally with remote(s):  origin     /me/git-repos-for-test/sub
           fatal: If you want to reuse this local git directory instead of cloning again from
    @@ Commit message
         Make the error message consistent with the error message that used to be
         printed before the refactoring.
     
    +    This also moves the 'fatal:' prefix that appears in the middle of the
    +    error message to the first line as it would more appropriate to have
    +    it in the first line. The output after the change would look like:
    +
    +      --- START OF OUTPUT ---
    +      $ git submodule add ../sub/ subm
    +      fatal: A git directory for 'subm' is found locally with remote(s):
    +        origin        /me/git-repos-for-test/sub
    +      If you want to reuse this local git directory instead of cloning again from
    +        /me/git-repos-for-test/sub
    +      use the '--force' option. If the local git directory is not the correct repo
    +      or you are unsure what this means choose another name with the '--name' option.
    +      ---  END OF OUTPUT  ---
    +
         [1]: https://lore.kernel.org/git/20210710074801.19917-5-raykar.ath@gmail.com/#t
     
      ## builtin/submodule--helper.c ##
    +@@ builtin/submodule--helper.c: struct add_data {
    + };
    + #define ADD_DATA_INIT { .depth = -1 }
    + 
    +-static void show_fetch_remotes(FILE *output, const char *sm_name, const char *git_dir_path)
    ++static void show_fetch_remotes(struct strbuf *msg, const char *sm_name, const char *git_dir_path)
    + {
    + 	struct child_process cp_remote = CHILD_PROCESS_INIT;
    + 	struct strbuf sb_remote_out = STRBUF_INIT;
    +@@ builtin/submodule--helper.c: static void show_fetch_remotes(FILE *output, const char *sm_name, const char *gi
    + 		while ((next_line = strchr(line, '\n')) != NULL) {
    + 			size_t len = next_line - line;
    + 			if (strip_suffix_mem(line, &len, " (fetch)"))
    +-				fprintf(output, "  %.*s\n", (int)len, line);
    ++				strbuf_addf(msg, "  %.*s\n", (int)len, line);
    + 			line = next_line + 1;
    + 		}
    + 	}
     @@ builtin/submodule--helper.c: static int add_submodule(const struct add_data *add_data)
    + 
      		if (is_directory(submod_gitdir_path)) {
      			if (!add_data->force) {
    - 				fprintf(stderr, _("A git directory for '%s' is found "
    +-				fprintf(stderr, _("A git directory for '%s' is found "
     -						  "locally with remote(s):"),
    -+						  "locally with remote(s):\n"),
    - 					add_data->sm_name);
    - 				show_fetch_remotes(stderr, add_data->sm_name,
    +-					add_data->sm_name);
    +-				show_fetch_remotes(stderr, add_data->sm_name,
    ++				struct strbuf msg = STRBUF_INIT;
    ++				char *die_msg;
    ++
    ++				strbuf_addf(&msg, _("A git directory for '%s' is found "
    ++						    "locally with remote(s):\n"),
    ++					    add_data->sm_name);
    ++
    ++				show_fetch_remotes(&msg, add_data->sm_name,
      						   submod_gitdir_path);
    -@@ builtin/submodule--helper.c: static int add_submodule(const struct add_data *add_data)
    - 				      "use the '--force' option. If the local git "
    - 				      "directory is not the correct repo\n"
    - 				      "or if you are unsure what this means, choose "
    + 				free(submod_gitdir_path);
    +-				die(_("If you want to reuse this local git "
    +-				      "directory instead of cloning again from\n"
    +-				      "  %s\n"
    +-				      "use the '--force' option. If the local git "
    +-				      "directory is not the correct repo\n"
    +-				      "or if you are unsure what this means, choose "
     -				      "another name with the '--name' option.\n"),
    -+				      "another name with the '--name' option."),
    - 				    add_data->realrepo);
    +-				    add_data->realrepo);
    ++
    ++				strbuf_addf(&msg, _("If you want to reuse this local git "
    ++						    "directory instead of cloning again from\n"
    ++						    "  %s\n"
    ++						    "use the '--force' option. If the local git "
    ++						    "directory is not the correct repo\n"
    ++						    "or you are unsure what this means choose "
    ++						    "another name with the '--name' option."),
    ++					    add_data->realrepo);
    ++
    ++				die_msg = strbuf_detach(&msg, NULL);
    ++				die("%s", die_msg);
      			} else {
      				printf(_("Reactivating local git directory for "
    + 					 "submodule '%s'\n"), add_data->sm_name);
-- 
2.32.0.385.gc00617bc03.dirty
Previous: Kaartic SivaraamNext: Kaartic Sivaraam
Message 27 of 34 in “submodule add: partial conversion to C”
  1. Atharva RaykarJul 6, 2021
  2. [GSoC] [PATCH 1/3] t7400: test failure to add submodule in tracked pathAtharva Raykar, Jul 6, 2021
  3. [GSoC] [PATCH 2/3] submodule--helper: refactor module_clone()Atharva Raykar, Jul 6, 2021
  4. [GSoC] [PATCH 3/3] submodule--helper: introduce add-clone subcommandAtharva Raykar, Jul 6, 2021
  5. Junio C HamanoJul 7, 2021
  6. Atharva RaykarJul 8, 2021
  7. [GSoC] [PATCH v2 0/4] submodule add: partial conversion to CAtharva Raykar, Jul 8, 2021
  8. [GSoC] [PATCH v2 1/4] t7400: test failure to add submodule in tracked pathAtharva Raykar, Jul 8, 2021
  9. [GSoC] [PATCH v2 2/4] submodule: prefix die messages with 'fatal'Atharva Raykar, Jul 8, 2021
  10. Junio C HamanoJul 8, 2021
  11. Đoàn Trần Công DanhJul 9, 2021
  12. Atharva RaykarJul 10, 2021
  13. Kaartic SivaraamJul 10, 2021
  14. [GSoC] [PATCH v2 3/4] submodule--helper: refactor module_clone()Atharva Raykar, Jul 8, 2021
  15. [GSoC] [PATCH v2 4/4] submodule--helper: introduce add-clone subcommandAtharva Raykar, Jul 8, 2021
  16. [GSoC] [PATCH v3 0/4] submodule add: partial conversion to CAtharva Raykar, Jul 10, 2021
  17. [GSoC] [PATCH v3 1/4] t7400: test failure to add submodule in tracked pathAtharva Raykar, Jul 10, 2021
  18. [GSoC] [PATCH v3 2/4] submodule: prefix die messages with 'fatal'Atharva Raykar, Jul 10, 2021
  19. [GSoC] [PATCH v3 3/4] submodule--helper: refactor module_clone()Atharva Raykar, Jul 10, 2021
  20. [GSoC] [PATCH v3 4/4] submodule--helper: introduce add-clone subcommandAtharva Raykar, Jul 10, 2021
  21. submodule: drop unused sm_name parameter from show_fetch_remotes()Jeff King, Jul 23, 2021
  22. Atharva RaykarJul 23, 2021
  23. Junio C HamanoJul 26, 2021
  24. submodule--helper: fix incorrect newlines in an error messageKaartic Sivaraam, Aug 5, 2021
  25. Atharva RaykarAug 6, 2021
  26. Kaartic SivaraamAug 6, 2021
  27. 0/1 submodule: corret an incorrectly formatted error messageKaartic Sivaraam, Sep 18, 2021
  28. 1/1 submodule--helper: fix incorrect newlines in an error messageKaartic Sivaraam, Sep 18, 2021
  29. Junio C HamanoSep 20, 2021
  30. Atharva RaykarSep 21, 2021
  31. Atharva RaykarSep 21, 2021
  32. 0/1 submodule: correct an incorrectly formatted error messageKaartic Sivaraam, Oct 23, 2021
  33. 1/1 submodule--helper: fix incorrect newlines in an error messageKaartic Sivaraam, Oct 23, 2021
  34. Junio C HamanoOct 24, 2021

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.