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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx/

... 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@xxxxxxxxx/#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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux