]> git.ipfire.org Git - thirdparty/git.git/commitdiff
merge: fix swapped "up to date" message components
authorJosh Soref <jsoref@gmail.com>
Sun, 2 May 2021 05:14:23 +0000 (01:14 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 May 2021 05:14:58 +0000 (14:14 +0900)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/merge.c

index 3472a0ce3bff2b707e355c7241c387a0486b99c6..eddb8ae70d6ebcdff10c416d9beacdb262f102e4 100644 (file)
@@ -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;
                }
        }