btw, this works and is a definite improvement. -Brandon Junio C Hamano wrote: > Brandon Casey <casey@xxxxxxxxxxxxxxx> writes: > >> No time to investigate, but here is an example patch and the >> results of running the affected tests. Looks like reflog may >> be creating a reflog when it is not supposed to. > > Your later analysis is correct; "git reflog show <branch>" does not > complain when there is no reflog for <branch>, which might or might not be > a bug. > > Because these tests are not about behaviour of "git reflog show" command, > let's do this for now. > > Thanks. > > -- >8 -- > Subject: tests: correct "does reflog exist" tests > > These two tests were not about how "git reflog show <branch>" exits when > there is no reflog, but were about whether "checkout" and "branch" create > or not create reflog when creating a new <branch>, update the tests to > check it in a more direct way, namely using "git rev-parse --verify". > > Also lose tests based on "test -f .git/logs/refs/heads/<branch>" from > nearby, to avoid exposing this particular implementation detail > unnecessarily. > > --- > t/t2017-checkout-orphan.sh | 47 +++++++------------------------------------ > t/t3200-branch.sh | 13 ++--------- > 2 files changed, 11 insertions(+), 49 deletions(-) > > diff --git a/t/t2017-checkout-orphan.sh b/t/t2017-checkout-orphan.sh > index 81cb393..2d2f63f 100755 > --- a/t/t2017-checkout-orphan.sh > +++ b/t/t2017-checkout-orphan.sh > @@ -68,65 +68,34 @@ test_expect_success '--orphan makes reflog by default' ' > git checkout master && > git config --unset core.logAllRefUpdates && > git checkout --orphan delta && > - ! test -f .git/logs/refs/heads/delta && > - ( > - PAGER= && > - export PAGER && > - test_must_fail git reflog show delta > - ) && > + test_must_fail git rev-parse --verify delta@{0} && > git commit -m Delta && > - test -f .git/logs/refs/heads/delta && > - PAGER= git reflog show delta > + git rev-parse --verify delta@{0} > ' > > test_expect_success '--orphan does not make reflog when core.logAllRefUpdates = false' ' > git checkout master && > git config core.logAllRefUpdates false && > git checkout --orphan epsilon && > - ! test -f .git/logs/refs/heads/epsilon && > - ( > - PAGER= && > - export PAGER && > - test_must_fail git reflog show epsilon > - ) && > + test_must_fail git rev-parse --verify epsilon@{0} && > git commit -m Epsilon && > - ! test -f .git/logs/refs/heads/epsilon && > - ( > - PAGER= && > - export PAGER && > - test_must_fail git reflog show epsilon > - ) > + test_must_fail git rev-parse --verify epsilon@{0} > ' > > test_expect_success '--orphan with -l makes reflog when core.logAllRefUpdates = false' ' > git checkout master && > git checkout -l --orphan zeta && > - test -f .git/logs/refs/heads/zeta && > - ( > - PAGER= && > - export PAGER && > - test_must_fail git reflog show zeta > - ) && > + test_must_fail git rev-parse --verify zeta@{0} && > git commit -m Zeta && > - PAGER= git reflog show zeta > + git rev-parse --verify zeta@{0} > ' > > test_expect_success 'giving up --orphan not committed when -l and core.logAllRefUpdates = false deletes reflog' ' > git checkout master && > git checkout -l --orphan eta && > - test -f .git/logs/refs/heads/eta && > - ( > - PAGER= && > - export PAGER && > - test_must_fail git reflog show eta > - ) && > + test_must_fail git rev-parse --verify eta@{0} && > git checkout master && > - ! test -f .git/logs/refs/heads/eta && > - ( > - PAGER= && > - export PAGER && > - test_must_fail git reflog show eta > - ) > + test_must_fail git rev-parse --verify eta@{0} > ' > > test_expect_success '--orphan is rejected with an existing name' ' > diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh > index bf7747d..f54a533 100755 > --- a/t/t3200-branch.sh > +++ b/t/t3200-branch.sh > @@ -228,28 +228,21 @@ test_expect_success 'checkout -b makes reflog by default' ' > git checkout master && > git config --unset core.logAllRefUpdates && > git checkout -b alpha && > - test -f .git/logs/refs/heads/alpha && > - PAGER= git reflog show alpha > + git rev-parse --verify alpha@{0} > ' > > test_expect_success 'checkout -b does not make reflog when core.logAllRefUpdates = false' ' > git checkout master && > git config core.logAllRefUpdates false && > git checkout -b beta && > - ! test -f .git/logs/refs/heads/beta && > - ( > - PAGER= && > - export PAGER && > - test_must_fail git reflog show beta > - ) > + test_must_fail git rev-parse --verify beta@{0} > ' > > test_expect_success 'checkout -b with -l makes reflog when core.logAllRefUpdates = false' ' > git checkout master && > git checkout -lb gamma && > git config --unset core.logAllRefUpdates && > - test -f .git/logs/refs/heads/gamma && > - PAGER= git reflog show gamma > + git rev-parse --verify gamma@{0} > ' > > test_expect_success 'avoid ambiguous track' ' -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html