Browse Source

merge-base-many: add trivial tests based on the documentation

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 17 years ago
parent
commit
a7a6692177
  1. 48
      t/t6010-merge-base.sh

48
t/t6010-merge-base.sh

@ -108,4 +108,52 @@ test_expect_success 'compute merge-base (all)' \ @@ -108,4 +108,52 @@ test_expect_success 'compute merge-base (all)' \
'MB=$(git merge-base --all PL PR) &&
expr "$(git name-rev "$MB")" : "[0-9a-f]* tags/C2"'

# Another set to demonstrate base between one commit and a merge
# in the documentation.

test_expect_success 'merge-base for octopus-step (setup)' '
test_tick && git commit --allow-empty -m root && git tag MMR &&
test_tick && git commit --allow-empty -m 1 && git tag MM1 &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m A && git tag MMA &&
git checkout MM1 &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m B && git tag MMB &&
git checkout MMR &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m C && git tag MMC
'

test_expect_success 'merge-base A B C' '
MB=$(git merge-base --all MMA MMB MMC) &&
MM1=$(git rev-parse --verify MM1) &&
test "$MM1" = "$MB"
'

test_expect_success 'criss-cross merge-base for octopus-step (setup)' '
git reset --hard MMR &&
test_tick && git commit --allow-empty -m 1 && git tag CC1 &&
git reset --hard E &&
test_tick && git commit --allow-empty -m 2 && git tag CC2 &&
test_tick && git merge -s ours CC1 &&
test_tick && git commit --allow-empty -m o &&
test_tick && git commit --allow-empty -m B && git tag CCB &&
git reset --hard CC1 &&
test_tick && git merge -s ours CC2 &&
test_tick && git commit --allow-empty -m A && git tag CCA
'

test_expect_success 'merge-base B A^^ A^^2' '
MB0=$(git merge-base --all CCB CCA^^ CCA^^2 | sort) &&
MB1=$(git rev-parse CC1 CC2 | sort) &&
test "$MB0" = "$MB1"
'

test_done

Loading…
Cancel
Save