rebase: extract function for rebasing a single node
We currently have _performrebase() and _performrebasesubset(), but we
don't have a method for rebasing a single node (that's inside a loop
in _performrebasesubset()). I think it makes sense to have such a
method, so that's what this patch does. I think it may simplify future
patches I'm working on that have to do with transactions, but I think
this patch makes sense on its own whether or not that future work
happens.
Differential Revision: https://phab.mercurial-scm.org/D2809
rebase: use configoverride context manager for ui.forcemerge
Differential Revision: https://phab.mercurial-scm.org/D2761
rebase: also restore "ui.allowemptycommit" value
It looks like this was lost when the code was converted to the
ui.configoverride() context manager in
f255b1811f5e (rebase: get rid
of ui.backupconfig, 2017-03-16). (And then the bad example was
duplicated in
228916ca12b5 (rebase: add concludememorynode(), and call
it when rebasing in-memory, 2017-12-07).)
Differential Revision: https://phab.mercurial-scm.org/D2760
rebase: fix issue 5494 also with --collapse
Differential Revision: https://phab.mercurial-scm.org/D2759