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

[PATCH v2 1/2] commit: reorganise duplicate commit prompt strings

From
Hu Jialun <hujialun@comp.nus.edu.sg>
Date
Jul 7, 2021, 16:23 UTC
Message-ID
<20210707162308.2438170-2-hujialun@comp.nus.edu.sg>
In-Reply-To
<20210707162308.2438170-1-hujialun@comp.nus.edu.sg>

While the prefilled commit prompt is mostly the same for different cleanup modes, those are separately repeated, which violates the DRY principle and hinders maintainability.

Unify and reorder identical substrings to improve.
Signed-off-by: Hu Jialun <hujialun@comp.nus.edu.sg>
---
 builtin/commit.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/builtin/commit.c b/builtin/commit.c
index 190d215d43..815b408002 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -910,21 +910,24 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
 		}
 
 		fprintf(s->fp, "\n");
-		if (cleanup_mode == COMMIT_MSG_CLEANUP_ALL)
-			status_printf(s, GIT_COLOR_NORMAL,
-				_("Please enter the commit message for your changes."
-				  " Lines starting\nwith '%c' will be ignored, and an empty"
-				  " message aborts the commit.\n"), comment_line_char);
+		const char *msg_enter_prompt = _("Please enter the commit message for your changes.");
+		const char *keep_char_prompt = _("Lines starting with '%c' will be kept;"
+						 " you may remove them yourself if you want to.");
+		const char *ignore_char_prompt = _("Lines starting with '%c' will be ignored.");
+		const char *empty_msg_abort_prompt = _("An empty message aborts the commit.");
+		if (cleanup_mode == COMMIT_MSG_CLEANUP_ALL) {
+			status_printf_ln(s, GIT_COLOR_NORMAL, msg_enter_prompt);
+			status_printf_ln(s, GIT_COLOR_NORMAL, ignore_char_prompt, comment_line_char);
+			status_printf_ln(s, GIT_COLOR_NORMAL, empty_msg_abort_prompt);
+		}
 		else if (cleanup_mode == COMMIT_MSG_CLEANUP_SCISSORS) {
 			if (whence == FROM_COMMIT && !merge_contains_scissors)
 				wt_status_add_cut_line(s->fp);
-		} else /* COMMIT_MSG_CLEANUP_SPACE, that is. */
-			status_printf(s, GIT_COLOR_NORMAL,
-				_("Please enter the commit message for your changes."
-				  " Lines starting\n"
-				  "with '%c' will be kept; you may remove them"
-				  " yourself if you want to.\n"
-				  "An empty message aborts the commit.\n"), comment_line_char);
+		} else { /* COMMIT_MSG_CLEANUP_SPACE, that is. */
+			status_printf_ln(s, GIT_COLOR_NORMAL, msg_enter_prompt);
+			status_printf_ln(s, GIT_COLOR_NORMAL, keep_char_prompt, comment_line_char);
+			status_printf_ln(s, GIT_COLOR_NORMAL, empty_msg_abort_prompt);
+		}
 
 		/*
 		 * These should never fail because they come from our own
-- 
2.32.0
Previous: Hu JialunNext: Đoàn Trần Công Danh
Message 6 of 20 in “commit: remove irrelavent prompt on `--allow-empty-message`”
  1. commit: remove irrelavent prompt on `--allow-empty-message`Hu Jialun, Jul 6, 2021
  2. Junio C HamanoJul 6, 2021
  3. Felipe ContrerasJul 7, 2021
  4. Hu JialunJul 7, 2021
  5. Hu JialunJul 7, 2021
  6. 1/2 commit: reorganise duplicate commit prompt stringsHu Jialun, Jul 7, 2021
  7. Đoàn Trần Công DanhJul 7, 2021
  8. Junio C HamanoJul 7, 2021
  9. 2/2 commit: remove irrelavent prompt on `--allow-empty-message`Hu Jialun, Jul 7, 2021
  10. Felipe ContrerasJul 7, 2021
  11. Hu JialunJul 8, 2021
  12. Đoàn Trần Công DanhJul 8, 2021
  13. Junio C HamanoJul 8, 2021
  14. 1/2 commit: reorganise commit hint stringsHu Jialun, Jul 9, 2021
  15. Junio C HamanoJul 9, 2021
  16. 2/2 commit: remove irrelavent prompt on `--allow-empty-message`Hu Jialun, Jul 9, 2021
  17. Junio C HamanoJul 9, 2021
  18. Hu JialunJul 10, 2021
  19. Hu JialunJul 22, 2021
  20. Junio C HamanoJul 22, 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.