This is a re-roll of Josh Soref's v3[1] which fixes swapped components of an "Already up to date" message emitted by builtin/merge. This re-roll additionally normalizes punctuation of "Already up to date" messages throughout the project. I kept Josh as author of patch [2/2] but completely rewrote the commit message to refocus it is a simple fix for a nearly 13 year old bug. [1]: https://lore.kernel.org/git/pull.934.v3.git.1619052906768.gitgitgadget@xxxxxxxxx/ Eric Sunshine (1): merge(s): apply consistent punctuation to "up to date" messages Josh Soref (1): merge: fix swapped "up to date" message components builtin/merge.c | 14 +++++++++----- merge-ort-wrappers.c | 2 +- merge-recursive.c | 2 +- notes-merge.c | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) Range-diff against v3: -: ---------- > 1: 3f96947e3a merge(s): apply consistent punctuation to "up to date" messages 1: 8cd2b8c335 ! 2: 5885b18b7f git-merge: rewrite already up to date message @@ Metadata Author: Josh Soref <jsoref@xxxxxxxxx> ## Commit message ## - git-merge: rewrite already up to date message + merge: fix swapped "up to date" message components - Usually, it is easier to read a message if it makes its primary - point first, before giving a parenthetical note. + The rewrite of git-merge from shell to C in 1c7b76be7d (Build in merge, + 2008-07-07) accidentally transformed the message: - Possible messages before include: - ` (nothing to squash)Already up to date. - ` - and - `Already up to date. Yeeah! - ` + Already up-to-date. (nothing to squash) - After: - `Already up to date (nothing to squash). - ` - and - `Already up to date. - ` + to: - Localizations now have two easy to understand translatable strings. - (All localizations of the previous strings are broken.) + (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@xxxxxxxxxxxxxx> Signed-off-by: Josh Soref <jsoref@xxxxxxxxx> + Signed-off-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> ## builtin/merge.c ## @@ builtin/merge.c: static void restore_state(const struct object_id *head, @@ builtin/merge.c: static void restore_state(const struct object_id *head, - printf("%s%s\n", squash ? _(" (nothing to squash)") : "", msg); + if (verbosity >= 0) { + if (squash) -+ puts(_("Already up to date (nothing to squash).")); ++ puts(_("Already up to date. (nothing to squash)")); + else + puts(_("Already up to date.")); + } @@ builtin/merge.c: int cmd_merge(int argc, const char **argv, const char *prefix) } } if (up_to_date) { -- finish_up_to_date(_("Already up to date. Yeeah!")); +- finish_up_to_date(_("Already up to date.")); + finish_up_to_date(); goto done; } -- 2.31.1.607.g51e8a6a459