1

I have a git repository in which there is a folder named "Sms", but in the past, was "SMS". It shows up in every filesystem as "Sms", but when I modify a file in there, git status is showing it as "SMS", and PHPStorm's built in git functionality doesn't see the change at all.

Furthermore, I can't view the history of any of the files in that directory through PHPStorm's git GUI. Any ideas?

quercy
  • 78
  • 6

3 Answers3

0

The environment is case insensitive and hence this issue. Give this a shot "git mv --force SMS Sms"

"Git has a configuration setting that tells it whether to be case sensitive or insensitive: core.ignorecase. To tell Git to be case-senstive, simply set this setting to false"

git config core.ignorecase false

Reference: How do I commit case-sensitive only filename changes in Git?

Community
  • 1
  • 1
SunSmiles
  • 186
  • 9
0

That's probably problem of windows, they are case insensitive.

you can either switch to linux or try cygwin and test the git in there.

Richard
  • 1,045
  • 7
  • 11
0

There are instances where Git vision of a folder does not match its actual case.
This is documented in Git 2.23 (Q3 2019)

See commit ed33bd8 (24 Jun 2019) by Johannes Schindelin (dscho).
(Merged by Junio C Hamano -- gitster -- in commit bf8126f, 09 Jul 2019)

t0001: fix on case-insensitive filesystems

On a case-insensitive filesystem, such as HFS+ or NTFS, it is possible that the idea Bash has of the current directory differs in case from what Git thinks it is.
That's totally okay, though, and we should not expect otherwise.

On Windows, for example, when you call:

cd C:\GIT-SDK-64

in a PowerShell and there exists a directory called C:\git-sdk-64, the current directory will be reported in all upper-case.
Even in a Bash that you might call from that PowerShell.

Git, however, will have normalized this via GetFinalPathByHandle(), and the expectation in t0001 that the recorded gitdir will match what pwd says will be violated.

Let's address this by comparing these paths in a case-insensitive manner when core.ignoreCase is true.

Reported by Jameson Miller.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250