On Sun, Oct 28, 2018 at 07:51:57AM +0100, Nguyễn Thái Ngọc Duy wrote:
> Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
> ---
> builtin/fsck.c | 113 ++++++++++++++++++++-----------------
> t/t1410-reflog.sh | 6 +-
> t/t1450-fsck.sh | 50 ++++++++--------
> t/t6050-replace.sh | 4 +-
> t/t7415-submodule-names.sh | 6 +-
> 5 files changed, 94 insertions(+), 85 deletions(-)
>
> diff --git a/builtin/fsck.c b/builtin/fsck.c
> index 06eb421720..13f8fe35c5 100644
> --- a/builtin/fsck.c
> +++ b/builtin/fsck.c
> @@ -108,8 +108,9 @@ static int fsck_config(const char *var, const char
> *value, void *cb)
> static void objreport(struct object *obj, const char *msg_type,
> const char *err)
> {
> - fprintf(stderr, "%s in %s %s: %s\n",
> - msg_type, printable_type(obj), describe_object(obj), err);
> + fprintf_ln(stderr, _("%s in %s %s: %s"),
Are the (f)printf() -> (f)printf_ln() changes all over
'builtin/fsck.c' really necessary to mark strings for translation?
> diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
> index 90c765df3a..500c21366e 100755
> --- a/t/t1450-fsck.sh
> +++ b/t/t1450-fsck.sh
> @@ -594,7 +594,7 @@ test_expect_success 'fsck --name-objects' '
> remove_object $(git rev-parse julius:caesar.t) &&
> test_must_fail git fsck --name-objects >out &&
> tree=$(git rev-parse --verify julius:) &&
> - egrep "$tree \((refs/heads/master|HEAD)@\{[0-9]*\}:" out
> + test -n "$GETTEXT_POISON" || egrep "$tree
> \((refs/heads/master|HEAD)@\{[0-9]*\}:" out
'test_i18ngrep' accepts all 'grep' options, so this could be written
as:
test_i18ngrep -E "..." out
There might be something else wrong with the patch, because now this
test tends to fail on current 'pu' on Travis CI:
[... snipped output from 'test_commit' ...]
+git rev-parse julius:caesar.t
+remove_object be45bbd3809e0829297cefa576e699c134abacfd
+sha1_file be45bbd3809e0829297cefa576e699c134abacfd
+remainder=45bbd3809e0829297cefa576e699c134abacfd
+firsttwo=be
+echo .git/objects/be/45bbd3809e0829297cefa576e699c134abacfd
+rm .git/objects/be/45bbd3809e0829297cefa576e699c134abacfd
+test_must_fail git fsck --name-objects
+_test_ok=
+git fsck --name-objects
+exit_code=2
+test 2 -eq 0
+test_match_signal 13 2
+test 2 = 141
+test 2 = 269
+return 1
+test 2 -gt 129
+test 2 -eq 127
+test 2 -eq 126
+return 0
+git rev-parse --verify julius:
+tree=c2fab98f409a47394d992eca10a20e0b22377c0c
+test -n
+egrep c2fab98f409a47394d992eca10a20e0b22377c0c
\((refs/heads/master|HEAD)@\{[0-9]*\}: out
error: last command exited with $?=1
not ok 65 - fsck --name-objects
The contents of 'out':
broken link from tree be45bbd3809e0829297cefa576e699c134abacfd
(refs/heads/master@{1112912113}:caesar.t)
to blob be45bbd3809e0829297cefa576e699c134abacfd
(refs/heads/master@{1112912113}:caesar.t)
missing blob be45bbd3809e0829297cefa576e699c134abacfd
(refs/heads/master@{1112912113}:caesar.t)
On a related (side)note, I think it would be better if this 'grep'
pattern were more explicit about which of the three lines it is
supposed to match.
Anyway, I couldn't reproduce the failure locally yet, but, admittedly,
I didn't try that hard... And my builds on Travis CI haven't yet come
that far to try this topic on its own.