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

[PATCH v4 2/2] merge: fix swapped "up to date" message components

From
Eric Sunshine <sunshine@sunshineco.com>
Date
May 2, 2021, 05:14 UTC
Message-ID
<20210502051423.48123-3-sunshine@sunshineco.com>
In-Reply-To
<20210502051423.48123-1-sunshine@sunshineco.com>
From: Josh Soref <jsoref@gmail.com>

The rewrite of git-merge from shell to C in 1c7b76be7d (Build in merge, 2008-07-07) accidentally transformed the message:

    Already up-to-date. (nothing to squash)
to:
    (nothing to squash)Already up-to-date.

due to reversed printf() arguments. This problem has gone unnoticed despite being touched over the years by 7f87aff22c (Teach/Fix pull/fetch -q/-v options, 2008-11-15) and bacec47845 (i18n: git-merge basic messages, 2011-02-22), and tangentially by bef4830e88 (i18n: merge: mark messages for translation, 2016-06-17) and 7560f547e6 (treewide: correct several "up-to-date" to "up to date", 2017-08-23).

Fix it by restoring the message to its intended order. While at it, help translators out by avoiding "sentence Lego".

[es: rewrote commit message]
Co-authored-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Josh Soref <jsoref@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
---
 builtin/merge.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index 3472a0ce3b..eddb8ae70d 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -393,10 +393,14 @@ static void restore_state(const struct object_id *head,
 }
 
 /* This is called when no merge was necessary. */
-static void finish_up_to_date(const char *msg)
+static void finish_up_to_date(void)
 {
-	if (verbosity >= 0)
-		printf("%s%s\n", squash ? _(" (nothing to squash)") : "", msg);
+	if (verbosity >= 0) {
+		if (squash)
+			puts(_("Already up to date. (nothing to squash)"));
+		else
+			puts(_("Already up to date."));
+	}
 	remove_merge_branch_state(the_repository);
 }
 
@@ -1522,7 +1526,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
 		 * If head can reach all the merge then we are up to date.
 		 * but first the most common case of merging one remote.
 		 */
-		finish_up_to_date(_("Already up to date."));
+		finish_up_to_date();
 		goto done;
 	} else if (fast_forward != FF_NO && !remoteheads->next &&
 			!common->next &&
@@ -1610,7 +1614,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
 			}
 		}
 		if (up_to_date) {
-			finish_up_to_date(_("Already up to date."));
+			finish_up_to_date();
 			goto done;
 		}
 	}
-- 
2.31.1.607.g51e8a6a459
Previous: Eric SunshineNext: Junio C Hamano
Message 15 of 19 in “git-merge: move space to between strings”
  1. git-merge: move space to between stringsJosh Soref via GitGitGadget, Apr 18, 2021
  2. Junio C HamanoApr 18, 2021
  3. git-merge: move primary point before parentheticalJosh Soref via GitGitGadget, Apr 21, 2021
  4. Eric SunshineApr 21, 2021
  5. git-merge: rewrite already up to date messageJosh Soref via GitGitGadget, Apr 22, 2021
  6. Eric SunshineApr 22, 2021
  7. Junio C HamanoApr 28, 2021
  8. Junio C HamanoApr 29, 2021
  9. Josh SorefMay 2, 2021
  10. Eric SunshineMay 2, 2021
  11. Junio C HamanoMay 2, 2021
  12. Junio C HamanoMay 2, 2021
  13. Eric SunshineMay 2, 2021
  14. 0/2 normalize & fix merge "up to date" messagesEric Sunshine, May 2, 2021
  15. 2/2 merge: fix swapped "up to date" message componentsEric Sunshine, May 2, 2021
  16. Junio C HamanoMay 3, 2021
  17. Eric SunshineMay 3, 2021
  18. Junio C HamanoMay 3, 2021
  19. 1/2 merge(s): apply consistent punctuation to "up to date" messagesEric Sunshine, May 2, 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.