linux.git is broken on a case-insensitive filesystem

Richard Weinberger richard.weinberger at gmail.com
Sat Dec 26 18:03:13 EST 2020


Theodore,

On Sat, Dec 26, 2020 at 11:41 PM Theodore Dubois <tblodt at icloud.com> wrote:
>
> I'm currently hacking on Linux trying to run a sort of UML-style thing on macOS (please don't question my sanity :), and I've run into various issues stemming from macOS having a case-insensitive filesystem.

Sounds interesting, if you have questions on UML internals, just ask.

> The one you run into immediately is: there are a number of files (mostly in netfilter) that have different uppercase and lowercase versions. net/netfilter/xt_DSCP.c and net/netfilter/xt_dscp.c are quite different. Last I checked, git would pseudo-randomly pick one of these to check out, and then show the other one as having unstaged changes making it look like the first one. This causes problems when switching branches. I've worked around this with a sparse checkout that excludes these files, but it's not great.
>
> The gitignore also contains the pattern *.s, which excludes *.S as well when git is ignoring case.
>
> Is there any interest in fixing these?

I fear it is a little more complicated.
We have different upper and lower case variants in include/uapi/. If
you rename them, existing programs
will fail to build.
...which will make users sad and Linus grumpy.

-- 
Thanks,
//richard



More information about the linux-um mailing list