Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
"Peter Crowther" <Peter.Crowther at melandra.com> writes: >> From: Jake Hughes [mailto:jhughes at accentopto.com] >> I am not aware of any way >> to add case sensitivity to Windows 2003, but I wanted to put >> the question to the group hoping somone else has come across this. > > NTFS preserves case but is case-insensitive. This is wired in a long > way down the filesystem code, and I'm not aware of any ways of changing > it. FAT16 and FAT32 long filenames have the same property, plus it's > not advised to run CVSNT (or, in my opinion, anything else!) on them. > > I think you're out of luck, Jake - unless you want to modify the CVSNT > code to do something really screwy like mangle names on the way into and > out of the repository. Cheaper and more reliable to rename the files... You can open a file with POSIX naming set (pass FILE_FLAG_POSIX_SEMANTICS to CreateFile) to allow case-sensitive file naming on NTFS. However, if you have two files with names differing only in case, then you need to use tools that support POSIX naming for all accesses, otherwise you will *always* access the file that is first in the directory, even if you specify the exact filename of another. To delete a file with a name that differs only in case from another file you can't use DeleteFile, as that doesn't support case-sensitive naming. Instead, you need to use CreateFile with the FILE_FLAG_POSIX_SEMANTICS and FILE_FLAG_DELETE_ON_CLOSE flags set, and then close the handle. To rename a file, you have to create a hard link with the new name, and then delete the old file. Anthony -- Anthony Williams Senior Software Engineer, Beran Instruments Ltd.