public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: case sensitivity bug?
Date: Thu, 22 Sep 2016 12:32:00 -0000	[thread overview]
Message-ID: <3809d007-a55f-c8f5-9724-0b0d0b5044bb@SystematicSw.ab.ca> (raw)
In-Reply-To: <f1ee00f8-6d2b-a4dd-ca7e-6dca9c0c8552@cornell.edu>

On 2016-09-21 10:59, Ken Brown wrote:
> On 9/21/2016 12:32 PM, Brian Inglis wrote:
>> On 2016-09-20 18:33, Ken Brown wrote:
>>> I've set up my Cygwin installation to be case sensitive, following the
>>> instructions at
>>> https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive
>>> But it doesn't seem to be working as I expect.  For example:
>>> $ mkdir a
>>> $ mkdir A
>>> $ ls -al [aA]
>>> a:
>>> total 100
>>> drwxr-xr-x+ 1 kbrown       None 0 2016-09-20 20:18 ./
>>> drwxrwxrwt+ 1 kbrown-admin None 0 2016-09-20 20:19 ../
>>> A:
>>> total 100
>>> drwxr-xr-x+ 1 kbrown       None 0 2016-09-20 20:19 ./
>>> drwxrwxrwt+ 1 kbrown-admin None 0 2016-09-20 20:19 ../
>>> $ mv a A
>>> mv: cannot move 'a' to a subdirectory of itself, 'A/a'
>>> Why does mv think that A and a are the same directory?
>>> Here's another example, where mv should simply do a rename, but it
>>> doesn't:
>>> $ rmdir A
>>> $ mv a A
>>> $ ls -al a
>>> total 100
>>> drwxr-xr-x+ 1 kbrown       None 0 2016-09-20 20:18 ./
>>> drwxrwxrwt+ 1 kbrown-admin None 0 2016-09-20 20:30 ../
>>> $ ls -al A
>>> ls: cannot access 'A': No such file or directory
>>> cygcheck output is attached.
>> Windows Win32 and WoW are case insensitive but case preserving where the
>> underlying
>> filesystem supports case sensitivity; POSIX subsystem is case sensitive:
>> https://support.microsoft.com/en-us/kb/100625 (N.B. NT 3.1!)
>> Nitty gritties:
>> http://www.nicklowe.org/2012/02/understanding-case-sensitivity-in-windows-obcaseinsensitive-file_case_sensitive_search/
> Thanks for the pointers, but I'm not sure how that's related to my
> bug report. Did you read the section of the Cygwin User Guide that I
> cited?

If Cygwin uses underlying NT... OS calls for all operations, it should be case-sensitive,
but any underlying Win... subsystem calls will be case-insensitive, and YMMV, just as
if you used a native Windows command.

Maybe stat the file and strace that or the failing ls command above to see what's happening.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2016-09-22  8:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-21  8:50 Ken Brown
2016-09-21 10:45 ` Andrey Repin
2016-09-21 16:59 ` Brian Inglis
2016-09-21 17:45   ` Ken Brown
2016-09-22 12:32     ` Brian Inglis [this message]
2016-10-19 11:29 ` Corinna Vinschen
2016-10-19 15:09   ` Ken Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3809d007-a55f-c8f5-9724-0b0d0b5044bb@SystematicSw.ab.ca \
    --to=brian.inglis@systematicsw.ab.ca \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).