name-rev: make dedicated --annotate-stdin --name-only test

The previous commit split the `--name-only` handling:

1. `--annotate-stdin`: uses the new `struct command`
2. The rest: uses `struct name_ref_data`

But there is no dedicated test for the option combination in (1). That
means that the following tests will fail if you neglect to set
`command.u.name_only` properly:

    name-rev --annotate-stdin works with commitGraph
    name-rev --annotate-stdin works with non-monotonic timestamps

even though it has nothing to do with what these tests are supposed
to test.

Let’s add another regression test now that it is relevant.

Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Kristoffer Haugsbakk 2026-05-11 17:45:48 +02:00 committed by Junio C Hamano
parent e2916329db
commit ae34adcf03
1 changed files with 14 additions and 0 deletions

View File

@ -298,6 +298,20 @@ test_expect_success 'name-rev --annotate-stdin' '
test_cmp expect actual
'

test_expect_success 'name-rev --annotate-stdin --name-only' '
>expect.unsorted &&
for rev in $(git rev-list --all)
do
name=$(git name-rev --name-only $rev) &&
echo "$name" >>expect.unsorted || return 1
done &&
sort <expect.unsorted >expect &&
git name-rev --annotate-stdin --name-only \
<list >actual.unsorted &&
sort <actual.unsorted >actual &&
test_cmp expect actual
'

test_expect_success 'name-rev --stdin deprecated' '
git rev-list --all >list &&
if ! test_have_prereq WITH_BREAKING_CHANGES