summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2013-12-05 12:58:27 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-12-05 12:58:27 -0800
commit07d406b742b577a39d7cbdacd76d0dde021ff788 (patch)
treeb9c83d886e3b8a5d0169f85b08ac8f52091a4d7b /t
parentMerge branch 'jk/replace-perl-in-built-scripts' (diff)
parentmerge-base: teach "--fork-point" mode (diff)
downloadtgif-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 f80bba871c..30a68335b3 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