rebase: add --detach option to detach intermediate revisions (
issue1950)
When rebasing an intermediate revision, rebase keeps a parent relationship
with the original parent. This option forces the removal of this relationship.
In more depth, it 'fakes' null merges between the target revision and the
ancestors of source, dropping every change from the ancestors.
The result is that every change in source and its descendants will be rebased,
ignoring the changes in its ancestors.
rebase: refactoring
Separate rebase-specific functions, in order to provide a better base to
extend rebase's capabilities.
Note that this will be useful especially to share functions with 'adapt'.
commands: allow --closed even for topological heads displays
But it actually only starts working later on.
util: make spawndetached() handle subprocess early terminations
The file-based synchronization introduced by
e22695b4472f hangs when the child
process fails before terminating the handshake, which the previous pipe-based
version handled correctly. To fix this, the parent polling loop was fixed to
detect premature terminations of the child process.
zeroconf: do not try to encode encoded strings (
issue1942)