[Bug 5954] New: Mercurial does not work correctly on Windows with case sensitive directories

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Thu Aug 9 14:45:43 UTC 2018


https://bz.mercurial-scm.org/show_bug.cgi?id=5954

            Bug ID: 5954
           Summary: Mercurial does not work correctly on Windows with case
                    sensitive directories
           Product: Mercurial
           Version: 4.6.1
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: jchorko at gmail.com
                CC: mercurial-devel at mercurial-scm.org

Since Windows 10 April 2018 Update NTFS case-sensitivity is supported on a
per-directory basis.

When set on mercurial repository or even it's parent (with "fsutil.exe file
setCaseSensitiveInfo <dir> enabled" command) most commands detect all files as
missing (but not hg status).

temp> fsutil file setCaseSensitiveInfo . enable
Case sensitive attribute on directory c:\Users\janusz.chorko\temp is enabled.

temp> hg clone <repo> dir
requesting all changes
adding changesets
adding manifests
adding file changes
added 4337 changesets with 32652 changes to 5052 files (+2 heads)
new changesets 57289b3da9e4:d7b887e97bd6
updating to branch default
1343 files updated, 0 files merged, 0 files removed, 0 files unresolved

temp> cd dir

temp\dir> hg status

temp\dir> hg commit
nothing changed (1343 missing files, see 'hg status')

When case sensitivity is not set I get:

temp\dir> hg commit
nothing changed

This happens with version 4.6.1 and current default tip.

mercurial/util.py fscasesensitive correctly detects case sensitive file system
mercurial/windows.py statfiles fails to return any stat, the problem seems to
go away if normcase calls are removed

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list