From: George Spelvin <lkml@SDF.ORG> To: Philip Oakley <email@example.com> Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>, Junio C Hamano <firstname.lastname@example.org>, email@example.com, firstname.lastname@example.org Subject: Re: Feature request: rebase -i inside of rebase -i Date: Mon, 30 Mar 2020 18:18:12 +0000 Message-ID: <20200330181812.GB9199@SDF.ORG> (raw) In-Reply-To: <email@example.com> On Mon, Mar 30, 2020 at 03:01:28PM +0100, Philip Oakley wrote: > Perhaps we can go the other way on this one. > > I'd agree that attempting to nest (misunderstood mistaken) rebases is > digging a too deep hole that we'd not get out of. However we do have > other rebases available, specifically the "rebasing merges" > https://git-scm.com/docs/git-rebase#_rebasing_merges. > > I know rebasing merges is way down the man page, but it has all the > power and flexibility needed _if_ we can step across from the mistaken > rebase step (we are at the command prompt aren't we?) into the rebasing > merge mode. > > This will require a little bit of expansion of the insn (instruction) > sheet so as to _include commented lines of the rebase steps completed_ > so far, along with the labels, resets, merges, etc, so that the user can > _see_ where they they are within their failed progress (along with a > title line telling them their initial command and that they are now on a > rebasing merge insn;-). > > From there they can update the insn to reset back to the correct point, > redo the correct picks, and then get back to their remaining rebase steps. > > It's a thought anyway. I'm confused. *How* does --rebase-merge mode help? You're saying "hey, if we use this, it solves the issue" but I don't see how to pound this nail with that screwdriver. I don't see how creating a branching history helps, and I don't see how to use the reset/label/merge commands to do anything but create a branching history. I suppose it is possible to use the "reset" command in isolation to describe the jump to a new base. So you could have a history of: # Command already executed: # reset base # pick A # pick B # pick C # label rebase-1 User asked for a nested rebase # reset A' # Commands pending: pick B' pick C' # rebase-2 complete, resume rebase-1 pick D pick E Is that what you were getting at? I was thinking of it being implicit, but it might be nice for the initial "reset" in each rebase to be explicit, *and not yet executed during the initial todo edit*. That makes it really clear that deleting the todo list entirely results in no change to the tree.
next prev parent reply index Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-20 22:30 George Spelvin 2020-03-20 22:51 ` Junio C Hamano 2020-03-20 23:35 ` George Spelvin 2020-03-21 10:51 ` Johannes Schindelin 2020-03-21 17:56 ` George Spelvin 2020-03-25 19:26 ` Johannes Schindelin 2020-03-26 0:18 ` George Spelvin 2020-03-28 14:25 ` Johannes Schindelin 2020-03-28 16:30 ` George Spelvin 2020-03-31 0:00 ` George Spelvin 2020-03-31 10:57 ` Philip Oakley 2020-03-31 13:36 ` Phillip Wood 2020-04-01 16:43 ` Philip Oakley 2020-04-07 15:54 ` Phillip Wood 2020-04-04 12:17 ` Johannes Schindelin 2020-04-04 12:39 ` Johannes Schindelin 2020-04-04 17:41 ` George Spelvin 2020-04-06 10:40 ` Sebastien Bruckert 2020-04-06 15:24 ` George Spelvin 2020-04-07 9:16 ` Sebastien Bruckert 2020-04-07 19:03 ` George Spelvin 2020-03-30 14:01 ` Philip Oakley 2020-03-30 18:18 ` George Spelvin [this message] 2020-03-30 21:53 ` Philip Oakley 2020-03-21 8:47 ` Johannes Sixt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200330181812.GB9199@SDF.ORG \ --firstname.lastname@example.org \ --cc=Johannes.Schindelin@gmx.de \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Mailing List Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/git/0 git/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 git git/ https://lore.kernel.org/git \ firstname.lastname@example.org public-inbox-index git Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git