Actions
Bug #10700
closedOn case-sensitive filesystem on OS X, Dir.glob("*.TXT") matches case-insensitively
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin13]
Description
My Mac has the disk reformatted so that it is case-sensitive (HFS+):
$ touch foo.txt foo.TXT FOO.txt FOO.TXT
$ ls -li foo.* FOO.*
286444732 -rw-r--r-- 1 asari staff 0 Jan 6 08:00 FOO.TXT
286444731 -rw-r--r-- 1 asari staff 0 Jan 6 08:00 FOO.txt
286444729 -rw-r--r-- 1 asari staff 0 Jan 6 08:00 foo.TXT
286444728 -rw-r--r-- 1 asari staff 0 Jan 6 08:00 foo.txt
You notice that they are all different files.
In Ruby 2.1.5, Dir.glob("*.TxT") returns an empty array, but in 2.2.0, all of these files are returned:
$ rvm 2.1.5 do ruby -v -e 'p Dir.glob("*.TxT")'
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
[]
$ rvm 2.2.0 do ruby -v -e 'p Dir.glob("*.TxT")'
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin13]
["FOO.TXT", "FOO.txt", "foo.TXT", "foo.txt"]
This is unexpected and incorrect. This does not happen on Linux.
Actions
Like0
Like0Like0Like0Like0Like0