Re: linux.git is broken on a case-insensitive filesystem

2020-12-27 Thread Bernd Petrovitsch
Hi all!

On Sat, 2020-12-26 at 14:30 -0800, Theodore Dubois wrote:
[...]
>  thing on macOS (please don't question my sanity :), and I've run
>  into various issues stemming from macOS having a case-insensitive
>  filesystem. 

Case-insensitive filesystems are broken by design.

Kind regards,
Bernd
-- 
Bernd Petrovitsch  Email : be...@petrovitsch.priv.at
There is no cloud, just other people computers. - FSFE
 LUGA : http://www.luga.at




Re: linux.git is broken on a case-insensitive filesystem

2020-12-26 Thread Al Viro
On Sat, Dec 26, 2020 at 02:30:13PM -0800, Theodore Dubois 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. 
> 
> 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?

 Just how could we fix a long-standing design flaw in macOS? 


Re: linux.git is broken on a case-insensitive filesystem

2020-12-26 Thread Richard Weinberger
Theodore,

On Sat, Dec 26, 2020 at 11:41 PM Theodore Dubois  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


linux.git is broken on a case-insensitive filesystem

2020-12-26 Thread Theodore Dubois
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. 

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?

~Theodore