aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-12-05 12:58:27 -0800
committerJunio C Hamano <gitster@pobox.com>2013-12-05 12:58:27 -0800
commit07d406b742b577a39d7cbdacd76d0dde021ff788 (patch)
treeb9c83d886e3b8a5d0169f85b08ac8f52091a4d7b /t
parent219ea0e79d1e5cdb5f1133aff70fe4e5737dd59d (diff)
parentd96855ff517560650c62eca51a8bb78263f6a3ef (diff)
downloadgit-07d406b742b577a39d7cbdacd76d0dde021ff788.tar.gz
git-07d406b742b577a39d7cbdacd76d0dde021ff788.tar.xz
Merge branch 'jc/merge-base-reflog'
Code the logic in "pull --rebase" that figures out a fork point from reflog entries in C. * jc/merge-base-reflog: merge-base: teach "--fork-point" mode merge-base: use OPT_CMDMODE and clarify the command line parsing
Diffstat (limited to 't')
-rwxr-xr-xt/t6010-merge-base.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/t/t6010-merge-base.sh b/t/t6010-merge-base.sh
index f80bba871..30a68335b 100755
--- a/t/t6010-merge-base.sh
+++ b/t/t6010-merge-base.sh
@@ -230,4 +230,32 @@ test_expect_success 'criss-cross merge-base for octopus-step' '
test_cmp expected.sorted actual.sorted
'
+test_expect_success 'using reflog to find the fork point' '
+ git reset --hard &&
+ git checkout -b base $E &&
+
+ (
+ for count in 1 2 3
+ do
+ git commit --allow-empty -m "Base commit #$count" &&
+ git rev-parse HEAD >expect$count &&
+ git checkout -B derived &&
+ git commit --allow-empty -m "Derived #$count" &&
+ git rev-parse HEAD >derived$count &&
+ git checkout -B base $E || exit 1
+ done
+
+ for count in 1 2 3
+ do
+ git merge-base --fork-point base $(cat derived$count) >actual &&
+ test_cmp expect$count actual || exit 1
+ done
+
+ ) &&
+ # check that we correctly default to HEAD
+ git checkout derived &&
+ git merge-base --fork-point base >actual &&
+ test_cmp expect3 actual
+'
+
test_done