summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/merge-base.c2
-rwxr-xr-xt/t6010-merge-base.sh8
2 files changed, 9 insertions, 1 deletions
diff --git a/builtin/merge-base.c b/builtin/merge-base.c
index 926a7615ea..b5b4cf7eac 100644
--- a/builtin/merge-base.c
+++ b/builtin/merge-base.c
@@ -174,7 +174,7 @@ static int handle_fork_point(int argc, const char **argv)
revs.initial = 1;
for_each_reflog_ent(refname, collect_one_reflog_ent, &revs);
- if (!revs.nr && !get_oid(refname, &oid))
+ if (!get_oid(refname, &oid))
add_one_commit(&oid, &revs);
for (i = 0; i < revs.nr; i++)
diff --git a/t/t6010-merge-base.sh b/t/t6010-merge-base.sh
index 850463d4f2..78342896c7 100755
--- a/t/t6010-merge-base.sh
+++ b/t/t6010-merge-base.sh
@@ -275,6 +275,14 @@ test_expect_success '--fork-point works with merge-base outside reflog' '
test_cmp expect actual
'
+test_expect_success '--fork-point works with merge-base outside partial reflog' '
+ git -c core.logallrefupdates=true branch partial-reflog base &&
+ git rev-parse no-reflog >.git/refs/heads/partial-reflog &&
+ git rev-parse no-reflog >expect &&
+ git merge-base --fork-point partial-reflog no-reflog >actual &&
+ test_cmp expect actual
+'
+
test_expect_success 'merge-base --octopus --all for complex tree' '
# Best common ancestor for JE, JAA and JDD is JC
# JE