Re: Feature request: --preserve-merges to add "exec git merge ..." instead of "pick ..."
- Date: Tue, 8 Jan 2019 19:13:31 +0100
- From: Andreas Hennings <andreas@xxxxxxxxxxx>
- Subject: Re: Feature request: --preserve-merges to add "exec git merge ..." instead of "pick ..."
I tried this option after upgrading my git.
Unfortunately, no matter which variation I use, it still attempts to
rebase most or all of the feature branches before merging them.
Possibly depending on their ancestry.
On Mon, 7 Jan 2019 at 22:12, Andreas Hennings <andreas@xxxxxxxxxxx> wrote:
> It sounds good!
> I was using git version 2.7.4 all the time. I should have checked
> before posting here :)
> Now trying 2.20.1
> From "git help rebase":
> By default, or when no-rebase-cousins was specified,
> commits which do not have <upstream> as direct ancestor will keep
> original branch point, i.e. commits that would be excluded
> by gitlink:git-log's --ancestry-path option will keep their
> original ancestry by default. If the rebase-cousins mode is
> turned on, such commits are instead rebased onto <upstream> (or
> <onto>, if specified).
> I am not sure if this criterion (which ancestors it has) will always
> produce the behavior I am looking for.
> I will have to experiment a bit.
> Thanks for now, I will post again with new thoughts once I have done
> some experiments.
> On Mon, 7 Jan 2019 at 17:42, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> > Andreas Hennings <andreas@xxxxxxxxxxx> writes:
> > > This means we need a rebase operation where:
> > > - The commits of the acceptance branch itself are being replaced.
> > > - The commits of the feature branches remain as they are.
> > >
> > > A "git rebase --preserve-merges" almost does this, but not really.
> > This wished-for feature sounds to me more like the "first-parent"
> > mode that has been discussed a few times in the past but never
> > materialized.
> > The preserve-merges mode is getting abandoned by the original author
> > as unsalvageable. Have you tried the rebase-merges mode? That may
> > let you choose replaying only the merge commits on the acceptance
> > branch without touching the tips of the feature branches getting
> > merged.