# `git add` with unmatching case silently fails on case-insensitive file systems

2 messages from 2025-01-21 to 2025-01-21. Participants: Lê Duy Quang, Torsten Bögershausen.
Thread: https://gitlist.dev/t/62837

## Lê Duy Quang, 2025-01-21 07:52

Subject: `git add` with unmatching case silently fails on case-insensitive file systems
Message-ID: <7e5e2f26-deda-41a3-af46-79c42435b3c7@gmail.com>
URL: https://gitlist.dev/e/7e5e2f26-deda-41a3-af46-79c42435b3c7%40gmail.com

```
Good morning,

I am using Git on Windows, whose file system is case-insensitive. If the 
working tree has a file called `SourceFile.c`, for example, and I run 
`git add sourcefile.c`, I would expect either (a) Git stages 
`SourceFile.c` or (b) Git errors with "fatal: pathspec 'sourcefile.c' 
did not match any files". However, none of those actually took place; 
instead Git did not stage the file and produced no output as if the 
command had succeeded, which led me to proceed to committing without 
realizing I had missed the file.

I would like to know whether this is intended behavior or I have bumped 
into a case-sensitivity bug.

Regards,
Quang

```

## Torsten Bögershausen, 2025-01-21 17:16

Subject: Re: `git add` with unmatching case silently fails on case-insensitive file systems
Message-ID: <20250121171621.GA4932@tb-raspi4>
URL: https://gitlist.dev/e/20250121171621.GA4932%40tb-raspi4
In-Reply-To: <7e5e2f26-deda-41a3-af46-79c42435b3c7@gmail.com>

```
On Tue, Jan 21, 2025 at 02:52:09PM +0700, Lê Duy Quang wrote:
> Good morning,
>
> I am using Git on Windows, whose file system is case-insensitive. If the
> working tree has a file called `SourceFile.c`, for example, and I run `git
> add sourcefile.c`, I would expect either (a) Git stages `SourceFile.c` or
> (b) Git errors with "fatal: pathspec 'sourcefile.c' did not match any
> files". However, none of those actually took place; instead Git did not
> stage the file and produced no output as if the command had succeeded, which
> led me to proceed to committing without realizing I had missed the file.
>
> I would like to know whether this is intended behavior or I have bumped into
> a case-sensitivity bug.

The thing is that Windows tells us sourcefile.c is there,
even if Sourcefile.c is there.
So that is why neither a) nor b) is happening.

You can call it a bug, or a not-yet-implemented feature.
In any case, just to be shure,
git status
is your friend before doing the commit.

```
