diff options
-rw-r--r-- | builtin/merge-base.c | 2 | ||||
-rwxr-xr-x | t/t6010-merge-base.sh | 8 |
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 |