hg rebase has been able to skip obsolete commits since 92409f8dff5d
(rebase: don't rebase obsolete commit whose successor is already
rebased, 2015-09-14). That commit introduced the
experimental.rebaseskipobsolete config and set it to false by
default to start with. Then it has been enabled by default since
a47881680402 (rebase: turn rebaseskipobsolete on by default,
2016-03-09).
It seems to me that all use cases for turning off the config are
covered by hg rebase --keep, hg graft, or hg touch. The use
cases I can think of are:
- Create a temporary copy of a set of commits for some experimentation (use hg rebase --keep or hg graft).
- Revive a pruned commit (use hg touch, possibly followed by hg rebase if you want to move it elsewhere).
Also, it is a config option after all, which means that it is not
intended for one-off hg rebase commands (then it would have been a
command-line flag). So, let's drop support for this config since it
seems unused. It will make my work on making rewriteutil.precheck()
check for divergence slightly simpler.