Mercurial > hg
view relnotes/next @ 44341:77bb38be00ea
rebase: always be graft-like, not merge-like, also for merges
Rebase works by updating to a commit and then grafting changes on
top. However, before this patch, it would actually merge in changes
instead of grafting them in in some cases. That is, it would use the
common ancestor as base instead of using one of the parents. That
seems wrong to me, so I'm changing it so `defineparents()` always
returns a value for `base`.
This fixes the bad behavior in test-rebase-newancestor.t, which was
introduced in 65f215ea3e8e (tests: add test for rebasing merges with
ancestors of the rebase destination, 2014-11-30).
The difference in test-rebase-dest.t is because the files in the tip
revision were A, D, E, F before this patch and A, D, F, G after it. I
think both files should ideally be there.
Differential Revision: https://phab.mercurial-scm.org/D7907
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 16 Jan 2020 00:03:19 -0800 |
parents | 9f8eddd2723f |
children | 8561ad49915d |
line wrap: on
line source
== New Features == * `hg purge`/`hg clean` can now delete ignored files instead of untracked files, with the new -i flag. == New Experimental Features == == Bug Fixes == == Backwards Compatibility Changes == == Internal API Changes == * The deprecated `ui.progress()` has now been deleted. Please use `ui.makeprogress()` instead. * `hg.merge()` has lost its `abort` argument. Please call `hg.abortmerge()` directly instead. * The `*others` argument of `cmdutil.check_incompatible_arguments()` changed from being varargs argument to being a single collection.