diff --git a/object-name.c b/object-name.c index 5b6ce8e0e0..d9fd109ad5 100644 --- a/object-name.c +++ b/object-name.c @@ -811,7 +811,9 @@ static int get_oid_basic(struct repository *r, const char *str, int len, if (flags & GET_OID_QUIETLY) { exit(128); } - die(_("log for '%.*s' only has %d entries"), + die(Q_("log for '%.*s' only has %d entry", + "log for '%.*s' only has %d entries", + co_cnt), len, str, co_cnt); } if (flags & GET_OID_GENTLY) { diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh index 95a617254b..76f88a6b77 100755 --- a/t/t1400-update-ref.sh +++ b/t/t1400-update-ref.sh @@ -458,6 +458,20 @@ test_expect_success 'query reflog with gap' ' test_grep -F "warning: log for ref $m has gap after $gd" stderr ' +test_expect_success 'reflog entry out of range reports how many there are' ' + test_when_finished "git update-ref -d $m" && + + GIT_COMMITTER_DATE="1117150320 -0500" git update-ref $m $A && + test_must_fail git rev-parse --verify "main@{5}" 2>actual && + echo "fatal: log for ${SQ}main${SQ} only has 1 entry" >expect && + test_cmp expect actual && + + GIT_COMMITTER_DATE="1117150380 -0500" git update-ref $m $B && + test_must_fail git rev-parse --verify "main@{5}" 2>actual && + echo "fatal: log for ${SQ}main${SQ} only has 2 entries" >expect && + test_cmp expect actual +' + test_expect_success 'creating initial files' ' test_when_finished rm -f M && echo TEST >F && diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh index 722884e65f..9a4b93b79e 100755 --- a/t/t1506-rev-parse-diagnosis.sh +++ b/t/t1506-rev-parse-diagnosis.sh @@ -142,10 +142,10 @@ test_expect_success 'incorrect file in :path and :N:path' ' test_expect_success 'invalid @{n} reference' ' test_must_fail git rev-parse main@{99999} >output 2>error && test_must_be_empty output && - test_grep "log for [^ ]* only has [0-9][0-9]* entries" error && + test_grep "log for [^ ]* only has [0-9][0-9]* entr" error && test_must_fail git rev-parse --verify main@{99999} >output 2>error && test_must_be_empty output && - test_grep "log for [^ ]* only has [0-9][0-9]* entries" error + test_grep "log for [^ ]* only has [0-9][0-9]* entr" error ' test_expect_success 'relative path not found' '