Re: [GIT PULL] Immutable branch between MFD, PWM and RTC due for the v5.13 merge window

From: Uwe Kleine-König
Date: Wed Mar 10 2021 - 06:41:20 EST


Hello Lee,

On Tue, Mar 09, 2021 at 08:05:20PM +0000, Lee Jones wrote:
> On Mon, 01 Mar 2021, Lee Jones wrote:
>
> > The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8:
> >
> > Linux 5.12-rc1 (2021-02-28 16:05:19 -0800)
> >
> > are available in the Git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-pwm-rtc-v5.13
> >
> > for you to fetch changes up to 80629611215d1c5d52ed3cf723fd6d24a5872504:
> >
> > MAINTAINERS: Add entry for Netronix embedded controller (2021-03-01 10:26:17 +0000)
> >
> > ----------------------------------------------------------------
> > Immutable branch between MFD, PWM and RTC due for the v5.13 merge window
> >
> > ----------------------------------------------------------------
> > [...]
>
> FYI, if anyone has pulled this, they should probably rebase it onto
> v5.12-rc2 and delete the v5.12-rc1 tag from their tree:
>
> https://lwn.net/Articles/848431/

I'm not directly affected, but I wonder: The idea of an immutable branch
is that the same history gets included in different trees. If now each
maintainer rebases individually the result isn't the same
history any more in each tree which somewhat defeats the idea of using
immutable branches.

IMHO there are two ways forward: Either someone (Lee again?) creates a
new pull request for this series rebased on -rc2; or we accept that
these few patches are based on -rc1. For the latter it would be
beneficial to merge the tag into a tree that is already based on -rc2.

Currently this branch makes it into next only via mfd[1].

A little bit of statistics for the interested: Between the broken commit
48d15436fde6 and its fix (caf6912f3f4a) there are 655 commits that are
broken (git rev-list --ancestry-path 48d15436fde6..caf6912f3f4a | wc
-l). We won't get rid of these. (Well unless Linus descides to rewrite
history which would surprise me.)

In current next (b01d57bfdc41c8f635b08b8a5af8a31217d46936) there are
3244 commits that include the broken commit 48d15436fde6
(git rev-list --ancestry-path 48d15436fde6..next/master | wc -l) and
only 1411 of them also include the fix
(git rev-list --ancestry-path caf6912f3f4a..next/master | wc -l). So
next currently introduces 3244 - 1411 - 655 = 1178 additional broken
commits. My feeling is that unless this number goes down considerably,
we don't have to recourse to special measures to fix the 6 commits in
this pull request and merging it based on -rc1-dontuse should be fine.

A list of merges into next that contain the problematic commit but not
its fix can be generated using

git rev-list --merges --first-parent linus/master..next/master |
while read c; do
if git merge-base --is-ancestor 48d15436fde6 $c^2 && ! git merge-base --is-ancestor caf6912f3f4a $c^2; then
git show -s --pretty=oneline "$c";
fi;
done | nl

It currently shows 37 merges.

Best regards
Uwe

[1] git rev-list --merges --first-parent 80629611215d1c5d52ed3cf723fd6d24a5872504..next/master | while read c; do if git merge-base --is-ancestor 80629611215d1c5d52ed3cf723fd6d24a5872504 $c^2; then git show -s --pretty=oneline "$c"; fi; done


--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |

Attachment: signature.asc
Description: PGP signature