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 <[email protected]> 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