Re: [PATCH RESEND v4] MAINTAINERS: fix lots of alphabetic ordering

From: Linus Torvalds
Date: Thu Jul 20 2017 - 00:53:47 EST


On Wed, Jul 19, 2017 at 9:36 PM, Theodore Ts'o <tytso@xxxxxxx> wrote:
>>
>> Maybe we can just do the prefix thing and just do 26 files A-Z
>> instead? Or maybe go by first word (so all the ARM things would go in
>> one place?)
>
> Is that really going to help with merge conflicts? It might help keep
> things more in order, but if there is a merge conflict caused by two
> changes to adjacent entries causing patch "fuzz", splitting things
> into 26 files A-Z isn't going to significantly decrease the odds of
> this happening.

So it would actually help me a lot with conflicts - not because they'd
happen less, but because *when* they happen, the end result is much
easier to look at.

When I resolve a conflict, I always want to look at the commits that
cause the conflict. So what do I do? I do

gitk HEAD...MERGE_HEAD <conflicting file>

and then with the MAINTAINERS file, I literally see *all* those
hundreds of changes.

You can just do

gitk v4.12.. MAINTAINERS

with the current tree to get a feel for it. It's just nasty. Now
imagine that you have to find the two commits that clash among the
100+ commits that have absolutely nothing to do with those two.

If we split the MAINTAINER file up, I might still get the exact same
number of conflicts, but when I look at the history of the individual
files, it will be much saner. That's particularly true if we split up
by "first word" (eg "ADAPTEC" or "ARM" or "SECURITY" or whatever),
when instead of having tens of different development threads that all
end up touching one single MAINTAINERS file (with most of it being
entirely irrelevant to one particular conflict), you presumably have
just a very small handful (and those are now likely much more relevant
to the conflict at hand).

Basically, handling four (or whatever) conflicts per merge window is
nothing. But they are particularly _annoying_ conflicts.

(They are never actually _hard_ conflicts, or very meaningful either.
They are just annoying and frustrating exactly because they are so
pointlessly much harder to find than they really should need to be).

Linus