Hi Phil, On Mon, Apr 22, 2019 at 12:20:29PM -0700, Phil Hord wrote: > On Mon, Apr 22, 2019 at 12:16 PM Phil Hord <phil.hord@xxxxxxxxx> wrote: > > > > I have the same need. I plan to have some switch that invokes this > > "in-place rebase" behavior so that git can choose the upstream for me > > as `mergebase $sequence-edits`. In fact, I want to make that the > > default for these switches, but that feels too surprising for the > > rebase command. I plan to progress like this: > > > > # --in-place switch is not supported; manual upstream is given by user > > git rebase --edit foo foo^ > > > > # --in-place switch is added; now we can say this > > git rebase --edit foo --in-place > > I originally CC'ed Denton on this thread because he recently added > --keep-base. I initially hoped it would do something similar to > --in-place, but on reading the patch discussion, I think it's for > something different altogether. :-\ It's similar, though, in the > same way that --fork-point is; which may be another way to say "not > very." You're correct, --keep-base is a little more explicit than your proposed --in-place switch in that the former requires an upstream revision be specified whereas yours implicitly finds the base using the $sequence-edits. I suppose until --in-place is implemented, users could always use explicitly specify the upstream branch, such as: $ git rebase --edit foo --keep-base master Anyway, I've been following along with the discussion and although there are kinks to iron out, I like the general idea. Although I use fixup and squash commits + rebase -i --keep-base for major branch polishing, sometimes after the branch is mostly polished, there are a few last-minute changes to be made. I think that your proposed solution would also match my use-case nicely. Thanks, Denton