#!/bin/sh

test_description='test handling of --alternate-refs traversal'

TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh

# Avoid test_commit because we want a specific and known set of refs:
#
#  base -- one
#      \      \
#       two -- merged
#
# where "one" and "two" are on separate refs, and "merged" is available only in
# the dependent child repository.
test_expect_success 'set up local refs' '
	git checkout -b one &&
	test_tick &&
	git commit --allow-empty -m base &&
	test_tick &&
	git commit --allow-empty -m one &&
	git checkout -b two HEAD^ &&
	test_tick &&
	git commit --allow-empty -m two
'

# We'll enter the child repository after it's set up since that's where
# all of the subsequent tests will want to run (and it's easy to forget a
# "-C child" and get nonsense results).
test_expect_success 'set up shared clone' '
	git clone -s . child &&
	cd child &&
	git merge origin/one
'

test_expect_success 'rev-list --alternate-refs' '
	git rev-list --remotes=origin >expect &&
	git rev-list --alternate-refs >actual &&
	test_cmp expect actual
'

test_expect_success 'rev-list --not --alternate-refs' '
	git rev-parse HEAD >expect &&
	git rev-list HEAD --not --alternate-refs >actual &&
	test_cmp expect actual
'

test_expect_success 'limiting with alternateRefsPrefixes' '
	test_config core.alternateRefsPrefixes refs/heads/one &&
	git rev-list origin/one >expect &&
	git rev-list --alternate-refs >actual &&
	test_cmp expect actual
'

test_expect_success 'log --source shows .alternate marker' '
	git log --oneline --source --remotes=origin >expect.orig &&
	sed "s/origin.* /.alternate /" <expect.orig >expect &&
	git log --oneline --source --alternate-refs >actual &&
	test_cmp expect actual
'

test_done
