[PATCH v4 0/2] normalize & fix merge "up to date" messages
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- May 2, 2021, 05:14 UTC
- Message-ID
- <20210502051423.48123-1-sunshine@sunshineco.com>
- In-Reply-To
- <pull.934.v3.git.1619052906768.gitgitgadget@gmail.com>
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@gmail.com/
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@gmail.com>
## 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@sunshineco.com>
Signed-off-by: Josh Soref <jsoref@gmail.com>
+ Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
## 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