feature request: replicate stripping of revisions

Csaba Henk csaba-ml at creo.hu
Wed Dec 5 13:22:15 UTC 2007


On 2007-12-04, Matt Mackall <mpm at selenic.com> wrote:
> On Tue, Dec 04, 2007 at 11:10:38PM +0100, Zbynek Winkler wrote:
>> After playing with it a little it seems that 'transplant' is almost
>> like 'rebase' but missing the 'strip' found in mq. Isn't that so?
>
> I'm not sure what the fundamentals of rebase are. Transplant, if I
> understand it correctly, effectively replays changesets as if they
> were patches. I believe it currently has trouble replaying merge
> changesets, but I may be wrong. And it leaves the originals intact.
>
> Making an hg rebase that did either "transplant + strip" or "qimport;
> qpop; qpush; qdel" would give us something very like rebase, modulo
> handling of merge changesets.
>
> If people really want something more like rebase, we can probably make
> that happen.

As of my POV, transplant + strip is comfortable enough -- even better
than a rebase which integrates the two would be! That is

 1) typing two short commands instead of one doesn't hit the
    uncomfortability barrier;
 2) this way the destructive part of the operation is separated from the
    rest, which feels more secure (I can investigate if all went well
    before those two commands, or I can omit stripping if I want to
    keep around the original instances of the transplanted csets for
    some reason).

However, adding a --strip option to transplant seems to be very easy.
With one gotcha: this means one extension calls a function provided
by another extension. I don't know how well is that supported -- is there
some kind of notion of dependency among extensions?

Csaba




More information about the Mercurial mailing list