From: Junio C Hamano Date: Mon, 28 Dec 2015 21:58:03 +0000 (-0800) Subject: Merge branch 'jk/pending-keep-tag-name' X-Git-Tag: v2.7.0-rc3~2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/71957339da64100db4114106bbba4e9c5bcf8f86 Merge branch 'jk/pending-keep-tag-name' History traversal with "git log --source" that starts with an annotated tag failed to report the tag as "source", due to an old regression in the command line parser back in v2.2 days. * jk/pending-keep-tag-name: revision.c: propagate tag names from pending array --- 71957339da64100db4114106bbba4e9c5bcf8f86 diff --cc t/t4202-log.sh index 6ede0692f6,043c48e299..cb82eb7e66 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@@ -890,22 -872,33 +890,51 @@@ test_expect_success GPG 'log --graph -- grep "^| | gpg: Good signature" actual ' +test_expect_success 'log --graph --no-walk is forbidden' ' + test_must_fail git log --graph --no-walk +' + +test_expect_success 'log diagnoses bogus HEAD' ' + git init empty && + test_must_fail git -C empty log 2>stderr && + test_i18ngrep does.not.have.any.commits stderr && + echo 1234abcd >empty/.git/refs/heads/master && + test_must_fail git -C empty log 2>stderr && + test_i18ngrep broken stderr && + echo "ref: refs/heads/invalid.lock" >empty/.git/HEAD && + test_must_fail git -C empty log 2>stderr && + test_i18ngrep broken stderr && + test_must_fail git -C empty log --default totally-bogus 2>stderr && + test_i18ngrep broken stderr +' + + test_expect_success 'set up --source tests' ' + git checkout --orphan source-a && + test_commit one && + test_commit two && + git checkout -b source-b HEAD^ && + test_commit three + ' + + test_expect_success 'log --source paints branch names' ' + cat >expect <<-\EOF && + 09e12a9 source-b three + 8e393e1 source-a two + 1ac6c77 source-b one + EOF + git log --oneline --source source-a source-b >actual && + test_cmp expect actual + ' + + test_expect_success 'log --source paints tag names' ' + git tag -m tagged source-tag && + cat >expect <<-\EOF && + 09e12a9 source-tag three + 8e393e1 source-a two + 1ac6c77 source-tag one + EOF + git log --oneline --source source-tag source-a >actual && + test_cmp expect actual + ' + test_done