mirror of
https://github.com/git/git
synced 2024-10-12 11:32:34 +00:00
Merge branch 'jk/merge-base-fork-point-without-reflog' into maint
"git rebase" immediately after "git clone" failed to find the fork point from the upstream. * jk/merge-base-fork-point-without-reflog: merge-base: handle --fork-point without reflog
This commit is contained in:
commit
96ec83ce52
|
@ -173,6 +173,9 @@ static int handle_fork_point(int argc, const char **argv)
|
||||||
revs.initial = 1;
|
revs.initial = 1;
|
||||||
for_each_reflog_ent(refname, collect_one_reflog_ent, &revs);
|
for_each_reflog_ent(refname, collect_one_reflog_ent, &revs);
|
||||||
|
|
||||||
|
if (!revs.nr && !get_sha1(refname, sha1))
|
||||||
|
add_one_commit(sha1, &revs);
|
||||||
|
|
||||||
for (i = 0; i < revs.nr; i++)
|
for (i = 0; i < revs.nr; i++)
|
||||||
revs.commit[i]->object.flags &= ~TMP_MARK;
|
revs.commit[i]->object.flags &= ~TMP_MARK;
|
||||||
|
|
||||||
|
|
|
@ -260,6 +260,12 @@ test_expect_success 'using reflog to find the fork point' '
|
||||||
test_cmp expect3 actual
|
test_cmp expect3 actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success '--fork-point works with empty reflog' '
|
||||||
|
git -c core.logallrefupdates=false branch no-reflog base &&
|
||||||
|
git merge-base --fork-point no-reflog derived &&
|
||||||
|
test_cmp expect3 actual
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'merge-base --octopus --all for complex tree' '
|
test_expect_success 'merge-base --octopus --all for complex tree' '
|
||||||
# Best common ancestor for JE, JAA and JDD is JC
|
# Best common ancestor for JE, JAA and JDD is JC
|
||||||
# JE
|
# JE
|
||||||
|
|
Loading…
Reference in a new issue