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

Re: redundant message in builtin/rm.c

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 26, 2013, 06:04 UTC
Message-ID
<7v1u6l501r.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CAN0XMOJ+ar+iKwVi_z02x7p3XcZj0SxT69a7ApRxOioet8RwDw@mail.gmail.com>
Ralf Thielow <ralf.thielow@gmail.com> writes:
> It's more readable if "\n" is at the end of a line.
>
> Q_("the following submodule (or one of its nested submodules)\n"
> "uses a .git directory:"
Thanks both.  Perhaps we should do something like this?
-- >8 --
Subject: builtin/rm.c: consolidate error reporting for removing submodules

We have two (not identical) copies of error reporting when attempting to remove submodules that have their repositories embedded within them. Add a helper function so that we do not have to repeat similar error messages with subtly different wording without a good reason.

Noticed by Jiang Xin.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin/rm.c | 41 ++++++++++++++++++++---------------------
 1 file changed, 20 insertions(+), 21 deletions(-)
diff --git a/builtin/rm.c b/builtin/rm.c
index 5d0c068..694568a 100644
--- a/builtin/rm.c
+++ b/builtin/rm.c
@@ -57,6 +57,21 @@ static void print_error_files(struct string_list *files_list,
 	}
 }
 
+static void error_removing_concrete_submodules(struct string_list *files, int *errs)
+{
+	print_error_files(files,
+			  Q_("the following submodule (or one of its nested "
+			     "submodules)\n"
+			     "uses a .git directory:",
+			     "the following submodules (or one of its nested "
+			     "submodules)\n"
+			     "use a .git directory:", files->nr),
+			  _("\n(use 'rm -rf' if you really want to remove "
+			    "it including all of its history)"),
+			  errs);
+	string_list_clear(files, 0);
+}
+
 static int check_submodules_use_gitfiles(void)
 {
 	int i;
@@ -85,16 +100,8 @@ static int check_submodules_use_gitfiles(void)
 		if (!submodule_uses_gitfile(name))
 			string_list_append(&files, name);
 	}
-	print_error_files(&files,
-			  Q_("the following submodule (or one of its nested "
-			     "submodules)\n uses a .git directory:",
-			     "the following submodules (or one of its nested "
-			     "submodules)\n use a .git directory:",
-			     files.nr),
-			  _("\n(use 'rm -rf' if you really want to remove "
-			    "it including all of its history)"),
-			  &errs);
-	string_list_clear(&files, 0);
+
+	error_removing_concrete_submodules(&files, &errs);
 
 	return errs;
 }
@@ -236,17 +243,9 @@ static int check_local_mod(unsigned char *head, int index_only)
 			    " or -f to force removal)"),
 			  &errs);
 	string_list_clear(&files_cached, 0);
-	print_error_files(&files_submodule,
-			  Q_("the following submodule (or one of its nested "
-			     "submodule)\nuses a .git directory:",
-			     "the following submodules (or one of its nested "
-			     "submodule)\nuse a .git directory:",
-			     files_submodule.nr),
-			  _("\n(use 'rm -rf' if you really "
-			    "want to remove it including all "
-			    "of its history)"),
-			  &errs);
-	string_list_clear(&files_submodule, 0);
+
+	error_removing_concrete_submodules(&files_submodule, &errs);
+
 	print_error_files(&files_local,
 			  Q_("the following file has local modifications:",
 			     "the following files have local modifications:",
Previous: Ralf ThielowNext: Matthieu Moy
Message 3 of 4 in “redundant message in builtin/rm.c”
  1. Jiang XinJul 26, 2013
  2. Ralf ThielowJul 26, 2013
  3. Junio C HamanoJul 26, 2013
  4. Matthieu MoyAug 5, 2013

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.