Subject: Re: Git Evolve

From: Taylor Blau <[email-masked]>
Date: Mon, 1 Oct 2018 18:23:26 -0700

Hi Stefan,

On Sat, Sep 29, 2018 at 04:00:04PM -0700, Stefan Xenos wrote:
> Hello, List!
>
> I'm interested in porting something like Mercurial's evolve command to
> Git.

Welcome to Git :-). I think that the discussion in this thread is good,
but it's not why I'm replying. I have also wanted a Mercurial feature in
Git, but a different one than yours.

Specifically, I've wanted the 'hg absorb' command. My understanding of
the commands functionality is that it builds a sort of flamegraph-esque
view of the blame, and then cascades downwards parts of a change. I am
sure that I'm not doing the command justice, so I'll defer to [1] where
it is explained in more detail.

The benefit of this command is that it gives you a way to--without
ambiguity--absorb changes into earlier commits, and in fact, the
earliest commit that they make sense to belong to.

This would simplify my workflow greatly when re-rolling patches, as I
often want to rewrite a part of an earlier commit. This is certainly
possible by a number of different `git rebase` invocations (e.g., (1)
create fixup commits, and then re-order them, or (2) mark points in your
history as 'edit', and rewrite them in a detached state, and I'm sure
many more).

I'm curious if you or anyone else has thought about how this might work
in Git.

Thanks,
Taylor

[1]: http://files.lihdd.net/hgabsorb-note.pdf