mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
rebase --rebase-merges: root commits can be cousins, too
Reported by Wink Saville: when rebasing with no-rebase-cousins, we will want to refrain from rebasing all of them, even when they are root commits. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9c85a1c29c
commit
8fa6eea0ff
|
@ -3903,7 +3903,8 @@ static int make_script_with_merges(struct pretty_print_context *pp,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!commit)
|
if (!commit)
|
||||||
fprintf(out, "%s onto\n", cmd_reset);
|
fprintf(out, "%s %s\n", cmd_reset,
|
||||||
|
rebase_cousins ? "onto" : "[new root]");
|
||||||
else {
|
else {
|
||||||
const char *to = NULL;
|
const char *to = NULL;
|
||||||
|
|
||||||
|
|
|
@ -287,5 +287,30 @@ test_expect_success 'a "merge" into a root commit is a fast-forward' '
|
||||||
test_cmp_rev HEAD $head
|
test_cmp_rev HEAD $head
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'A root commit can be a cousin, treat it that way' '
|
||||||
|
git checkout --orphan khnum &&
|
||||||
|
test_commit yama &&
|
||||||
|
git checkout -b asherah master &&
|
||||||
|
test_commit shamkat &&
|
||||||
|
git merge --allow-unrelated-histories khnum &&
|
||||||
|
test_tick &&
|
||||||
|
git rebase -f -r HEAD^ &&
|
||||||
|
! test_cmp_rev HEAD^2 khnum &&
|
||||||
|
test_cmp_graph HEAD^.. <<-\EOF &&
|
||||||
|
* Merge branch '\''khnum'\'' into asherah
|
||||||
|
|\
|
||||||
|
| * yama
|
||||||
|
o shamkat
|
||||||
|
EOF
|
||||||
|
test_tick &&
|
||||||
|
git rebase --rebase-merges=rebase-cousins HEAD^ &&
|
||||||
|
test_cmp_graph HEAD^.. <<-\EOF
|
||||||
|
* Merge branch '\''khnum'\'' into asherah
|
||||||
|
|\
|
||||||
|
| * yama
|
||||||
|
|/
|
||||||
|
o shamkat
|
||||||
|
EOF
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in a new issue