# HG changeset patch
# User Siddharth Agarwal <sid0@fb.com>
# Date 2015-04-01 07:29:22
# Node ID 75ea27f1711d61710915e2fd4ef35f88677c32b6
# Parent  136ab89d61cb1b0474fdef6599deab65f53f1b20

cygwin: define normcase spec and fallback

These will be used in upcoming patches to efficiently create a dirstate
foldmap.

The Cygwin normcase behavior is more complicated than just a simple lowercasing
or uppercasing. That's why we specify 'other'.

diff --git a/mercurial/posix.py b/mercurial/posix.py
--- a/mercurial/posix.py
+++ b/mercurial/posix.py
@@ -311,6 +311,9 @@ if sys.platform == 'cygwin':
 
         return encoding.upper(path)
 
+    normcasespec = encoding.normcasespecs.other
+    normcasefallback = normcase
+
     # Cygwin translates native ACLs to POSIX permissions,
     # but these translations are not supported by native
     # tools, so the exec bit tends to be set erroneously.