Wed, 01 Apr 2015 00:29:22 -0700 cygwin: define normcase spec and fallback
Siddharth Agarwal <sid0@fb.com> [Wed, 01 Apr 2015 00:29:22 -0700] rev 24596
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'.
Tue, 31 Mar 2015 23:30:19 -0700 darwin: define normcase spec and fallback
Siddharth Agarwal <sid0@fb.com> [Tue, 31 Mar 2015 23:30:19 -0700] rev 24595
darwin: define normcase spec and fallback These will be used in upcoming patches to efficiently create a dirstate foldmap.
Wed, 01 Apr 2015 00:26:07 -0700 posix: define normcase spec and fallback
Siddharth Agarwal <sid0@fb.com> [Wed, 01 Apr 2015 00:26:07 -0700] rev 24594
posix: define normcase spec and fallback These will be used in upcoming patches to efficiently create a dirstate foldmap.
Wed, 01 Apr 2015 00:21:10 -0700 encoding: define an enum that specifies what normcase does to ASCII strings
Siddharth Agarwal <sid0@fb.com> [Wed, 01 Apr 2015 00:21:10 -0700] rev 24593
encoding: define an enum that specifies what normcase does to ASCII strings For C code we don't want to pay the cost of calling into a Python function for the common case of ASCII filenames. However, while on most POSIX platforms we normalize filenames by lowercasing them, on Windows we uppercase them. We define an enum here indicating the direction that filenames should be normalized as. Some platforms (notably Cygwin) have more complicated normalization behavior -- we add a case for that too. In upcoming patches we'll also define a fallback function that is called if the string has non-ASCII bytes. This enum will be replicated in the C code to make foldmaps. There's unfortunately no nice way to avoid that -- we can't have encoding import parsers because of import cycles. One way might be to have parsers import encoding, but accessing Python modules from C code is just awkward. The name 'normcasespecs' was chosen to indicate that this is merely an integer that specifies a behavior, not a function. The name was pluralized since in upcoming patches we'll introduce 'normcasespec' which will be one of these values.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -4 +4 +10 +30 +100 +300 +1000 +3000 +10000 tip