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 <pclouds@xxxxxxxxx> > --- > 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.