This patch defines SRC (a single source revision) and ALLSRC (all source
revisions) to be valid names in --dest revset if --src or --rev is
used. So destination could be defined differently according to source
revisions. The names are capitalized to make it clear they are "dynamically
defined", distinguishable from normal revsets (Thanks Augie for the
suggestion).
This is useful, for example, -r 'orphan()' -d 'calc-dest(SRC)' to solve
instability, which seems to be a highly wanted feature.
The feature is not completed, namely if -d overlaps with -r, things
could go wrong. A later patch will handle that case.
The feature is also gated by experimental.rebase.multidest config option
which is default off.
could pass ALLSRC in the fast-path version too, no? because the concern is not that that calcularing "allsrc" is costly, i assume, but that running the revset over all the revisions is