Skip to content

add support for full case sensitivity #2113

Closed
@jtnord

Description

@jtnord
  • I was not able to find an open or closed issue matching what I'm seeing

Setup

  • Which version of Git for Windows are you using? Is it 32-bit or 64-bit?
$ git --version --build-options

git version 2.16.2.windows.1
cpu: x86_64
built from commit: e1848984d1004040ec5199e749b5f282ddf4bb09
sizeof-long: 4
  • Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?
$ cmd.exe /c ver

Microsoft Windows [Version 10.0.17763.348]
  • What options did you set as part of the installation? Or did you choose the
    defaults?
# One of the following:
> type "C:\Program Files\Git\etc\install-options.txt"
> type "C:\Program Files (x86)\Git\etc\install-options.txt"
> type "%USERPROFILE%\AppData\Local\Programs\Git\etc\install-options.txt"
$ cat /etc/install-options.txt

Editor Option: VIM
Path Option: Cmd
Plink Path: C:\Program Files\PuTTY\plink.exe
SSH Option: Plink
CURL Option: OpenSSL
CRLF Option: CRLFCommitAsIs
Bash Terminal Option: ConHost
Performance Tweaks FSCache: Enabled
Use Credential Manager: Enabled
Enable Symlinks: Enabled

  • Any other interesting things about your environment that might be related
    to the issue you're seeing?

Nope

Details

  • Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

cmd.exe

git clone https://github.com/jenkins-x/jx-docs.git
git checkout e2deb350438183925be23b190019f4dfdf5cea77

  • What did you expect to occur after running these commands?

No modified fiels are present.
both content/commands/jx_get_Apps.md and jx_get_apps.md are present.

Note they differ only by case

  • What actually happened instead?

git thinks content/commands/jx_get_Apps.md is modified.

  • If the problem was occurring with a specific repository, can you provide the
    URL to that repository to help us with testing?

https://github.com/jenkins-x/jx-docs.git
https://github.com/jenkins-x/jx-docs/tree/e2deb350438183925be23b190019f4dfdf5cea77/content/commands

Any repo that has files that only differ by case will show this issue (can be created on a linux machine)

NTFS is a case sensitive file system. Windows by default disables case sensitivity so that it is only case-preserving.

You can override this behaviour but only on a per folder basis.
This request is that git when checking out etc sets (via an opt-in/opt-out option) the flag that causes the system to be treated case sensitive on every folder in the working directory (and follows through that all git commands on windows will use the correct case).

to enable the per directory case sensitivity you can run fsutil.exe file SetCaseSensitiveInfo drive:\path\to\folder enable

or you can possibly (untried) reproduce this by perfoming a git clone of an arbitraty repo, running bash (the WSL one not the git one)and then creating a new folder in the workspace and runningecho one > oneandecho ONE > ONE` verify that both files exist then watch git get confusued.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions