Subject: Re: [PATCH RFC 00/11] Introduce git-history(1) command for easy history editing

From: SZEDER Gábor <[email-masked]>
Date: Wed, 17 Sep 2025 22:12:31 +0200

On Sun, Aug 24, 2025 at 06:03:02PM +0200, Patrick Steinhardt wrote:
> On Sat, Aug 23, 2025 at 06:25:06PM -0700, Martin von Zweigbergk wrote:
> > On Tue, Aug 19, 2025 at 3:57 AM Patrick Steinhardt <[email-masked]> wrote:
> > >
> > > Hi,
> > >
> > > over recent months I've been playing around with Jujutsu quite
> > > frequently. While I still prefer using Git, there's been a couple
> > > features in it that I really like and that I'd like to have in Git, as
> > > well.
> > >
> > > A copule of these features relate to history editing. Most importantly,
> > > I really dig the following commands:
> > >
> > >   - jj-abandon(1) to drop a specific commit from your history.
> > 
> > It also rebases all descendants on top of the parent(s) of the
> > abandoned commit(s). Branches pointing to the rebased commits are also
> > repointed. So is the working copy if it points to a rebased commit
> > (the closest equivalent in Git would be HEAD). Do you plan to make all
> > the `git history` commands behave that way too?
> 
> Yup.

That sounds scary...  What does "all descendants" mean in this
context?

Let's suppose I have this piece of history, I'm on 'branch2', and I
drop commit B.  Which commits will be rewritten and which branches
will be repointed?

   A---B---C---D   branch1
            \   \
             \   E---F   branch2
              \       \
               \       G---H---I   branch3
                \
                 J---K---L   branch4