Re: [PATCH 0/9] MIPS: CI20: Add WiFi / Bluetooth support

From: H. Nikolaus Schaller
Date: Thu Jun 15 2023 - 05:32:17 EST




> Am 15.06.2023 um 11:08 schrieb Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>:
>
> On Thu, Jun 15, 2023 at 10:39:53AM +0200, Paul Cercueil wrote:
>> Thomas: are you able to drop this series from mips-next, or should I/we send fixup patches instead?
>
> as I'm not rebasing mips-next I need fixup patches. This won't solve
> bisectability, but not doing rebases is the what Linus prefers.

Indeed. I have found some very old statements on this topic:
https://yarchive.net/comp/linux/git_rebase.html

> > How do I insert build fixes into existing changesets so that the tree
> > is more bisectable?
>
> Just delay pushing out. There really is _zero_ downside to this. None at
> all. There are only upsides.

...

> Also, I'd *much* rather have a few problems in the tree than have people
> screw up history in order to hide them. Sure, we want to keep things
> bisectable, but quite frankly, if you do a reasonable job and compile the
> kernel before you push out, it will be "mostly bisectable".
>
> And yes, mistakes happen. Mistakes will *always* happen. It's ok. Relax.

...

> So in short:
>
> - clean trees and bisectability are all wonderful things. No doubt about
> that at all.
>
> - but if getting there means that you lose a lot of _other_ wonderful
> things (like being able to trust history, and the people being under
> your watchful eyes having to deal with you re-writing their trees),
> we'd be much better off taking the occasional commit that fixes things
> up _after_ the fact rather than before!
>
> - and you actually can help fix your issues by doing some simple things
> *before* pushing out, rather than push out immediately. IOW, do your
> whitespace sanity fixes, your compile checks etc early, and don't push
> out until after you've done them.

...

> So:
> - making things public is *different* from developing them. Don't push
> out just because you committed something!
>
> - you shouldn't publicize a tree until it's in reasonable shape. EVER.
> Even -mm or -next is *not* better off with a pile of sh*t just because
> you're working in that area.
>
> I cannot stress this enough. I think Andrew has been way too polite to
> some people.
>
> - and once it is, you generally shouldn't mess with old commits even when
> you fix things. Full cleanliness or always being able to bisect
> specific configurations is not an excuse for messing up all the other
> things, and if this problem happens a lot, I would like to point you to
> the two previous points.
>

...

> And btw, a *big* part of the above is also:
>
> - mistakes happen.
>
> There will be bugs. There will be cases where things aren't bisectable
> (although they should generally be bisectable for *your* configuration,
> because if they aren't, that shows that you didn't even compile the
> commits you made).
>
> And there will be kernels that don't boot. Even expecting people to always
> boot-test every single commit would be unrealistic - let's face it, most
> things look really obvious, and the fact that even obvious fixes can have
> bugs doesn't mean that there should be hard rules about "every single
> commit has to be boot-tested on X machines".
>
> So it's an important part of the process to try to do a good job, and not
> publicizing crap - but it's *equally* important to realize that crap
> happens, and that it's easily *more* distracting to try to clean it up
> after-the-fact than it is to just admit that it happened.

Ok, then we have to keep this series as is and fix it on top (just for
my V2a board since it seems to work for Paul for a different version).

So let's focus on the fixes.

Best regards,
Nikolaus


>
> Thomas.
>
> --
> Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
> good idea. [ RFC1925, 2.3 ]