linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux.git is broken on a case-insensitive filesystem
@ 2020-12-26 22:30 Theodore Dubois
  2020-12-26 23:03 ` Richard Weinberger
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Theodore Dubois @ 2020-12-26 22:30 UTC (permalink / raw)
  To: linux-kernel

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: linux.git is broken on a case-insensitive filesystem
  2020-12-26 22:30 linux.git is broken on a case-insensitive filesystem Theodore Dubois
@ 2020-12-26 23:03 ` Richard Weinberger
  2020-12-26 23:08 ` Al Viro
  2020-12-27  9:10 ` Bernd Petrovitsch
  2 siblings, 0 replies; 4+ messages in thread
From: Richard Weinberger @ 2020-12-26 23:03 UTC (permalink / raw)
  To: Theodore Dubois; +Cc: LKML, linux-um

Theodore,

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: linux.git is broken on a case-insensitive filesystem
  2020-12-26 22:30 linux.git is broken on a case-insensitive filesystem Theodore Dubois
  2020-12-26 23:03 ` Richard Weinberger
@ 2020-12-26 23:08 ` Al Viro
  2020-12-27  9:10 ` Bernd Petrovitsch
  2 siblings, 0 replies; 4+ messages in thread
From: Al Viro @ 2020-12-26 23:08 UTC (permalink / raw)
  To: Theodore Dubois; +Cc: linux-kernel

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?

<wry> Just how could we fix a long-standing design flaw in macOS? </wry>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: linux.git is broken on a case-insensitive filesystem
  2020-12-26 22:30 linux.git is broken on a case-insensitive filesystem Theodore Dubois
  2020-12-26 23:03 ` Richard Weinberger
  2020-12-26 23:08 ` Al Viro
@ 2020-12-27  9:10 ` Bernd Petrovitsch
  2 siblings, 0 replies; 4+ messages in thread
From: Bernd Petrovitsch @ 2020-12-27  9:10 UTC (permalink / raw)
  To: Theodore Dubois; +Cc: linux-kernel

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 : bernd@petrovitsch.priv.at
There is no cloud, just other people computers. - FSFE
                     LUGA : http://www.luga.at



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-12-27 10:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-26 22:30 linux.git is broken on a case-insensitive filesystem Theodore Dubois
2020-12-26 23:03 ` Richard Weinberger
2020-12-26 23:08 ` Al Viro
2020-12-27  9:10 ` Bernd Petrovitsch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).