#!/bin/sh
test_description='--reverse combines with --parents'
GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
commit () {
test_tick &&
echo $1 > foo &&
git add foo &&
git commit -m "$1"
}
test_expect_success 'set up --reverse example' '
commit one &&
git tag root &&
commit two &&
git checkout -b side HEAD^ &&
commit three &&
git checkout main &&
git merge -s ours side &&
commit five
'
test_expect_success '--reverse --parents --full-history combines correctly' '
git rev-list --parents --full-history main -- foo |
perl -e "print reverse <>" > expected &&
git rev-list --reverse --parents --full-history main -- foo \
> actual &&
test_cmp expected actual
'
test_expect_success '--boundary does too' '
git rev-list --boundary --parents --full-history main ^root -- foo |
perl -e "print reverse <>" > expected &&
git rev-list --boundary --reverse --parents --full-history \
main ^root -- foo > actual &&
test_cmp expected actual
'
test_done