Case sensitivity of filenames not preserved

Advertisement

nick13
Guest

Case sensitivity of filenames not preserved

I don't think "preserved" is the right way to describe the problem but let me explain what's happening. I'm using 4.3.6 and I'm trying to move some files for a client first to my machine, then onto another location. Some of the files have similar names but have different case ie. RTV88.pdf and rtv88.pdf ... incidentally, the two files are identical but the names are different, don't ask me why they've done this. When I copy these files in bulk or individually, one will copy over the other as if they are exactly the same file name. For example, if I already have RTV88.pdf on the local side and try to copy rtv88.pdf, I end up only with rtv88.pdf on the local side presumably because WinSCP has treated the two files as the same and overwritten the old with the new. I have tried this both to an SMB share on an Ubuntu machine I use for development, as well as onto my local desktop (Windows 7) with the same result so I don't think that this is the result of the destination filesystem being case-insensitive.

I've never experienced this problem before in years of working with WinSCP so I figured I must have been sloppy and accidentally clicked a setting that made the program ignore case-sensitivity in file names. I checked Preferences->Transfer and Filename modification is set to "No change". I've also gone through all of the settings menus and buttons on the UI and don't see anything that would explain this. Is there a setting that I've missed that will fix this problem or is this actually a bug?

Thanks!

Reply with quote

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
40,476
Location:
Prague, Czechia

Re: Case sensitivity of filenames not preserved

nick13 wrote:

I have tried this both to an SMB share on an Ubuntu machine I use for development, as well as onto my local desktop (Windows 7) with the same result so I don't think that this is the result of the destination filesystem being case-insensitive.
It is exactly opposite. On Windows, file name are always case-insensitive, no matter what the file system is.
So there's nothing you or WinSCP can do about it.

Reply with quote

mvrk80
Guest

Hello,
I have two directories on the server:
"wca"
and
"WCA"
I cannot access with winscp to the directory "wca".
When I click on "wca", winscp shows the "WCA" directory content.

Reply with quote

martouf
Guest

the underlying NTFS filesystem (assuming that's what you've got) is case-SENSITIVE while the intermediating Windows API layer is case-INsensitive by default.

The Windows API can be caused to change to case-sensitive behavior through the use of the FILE_FLAG_POSIX_SEMANTICS FlagsandAttributes value.

It seems possible, then, for WinSCP to force case-sensitive access to local files but WinSCP would still depend on the behavior of the remote system for access to remote files.

Reply with quote

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
40,476
Location:
Prague, Czechia

mvrk80 wrote:

Hello,
I have two directories on the server:
"wca"
and
"WCA"
I cannot access with winscp to the directory "wca".
When I click on "wca", winscp shows the "WCA" directory content.
Please attach a full session log file showing the problem (using the latest version of WinSCP).

To generate the session log file, enable logging, log in to your server and do the operation and only the operation that causes the error. Submit the log with your post as an attachment. Note that passwords and passphrases not stored in the log. You may want to remove other data you consider sensitive though, such as host names, IP addresses, account names or file names (unless they are relevant to the problem). If you do not want to post the log publicly, you can mark the attachment as private.

Reply with quote

mvrk80
Guest

I'm very sorry: I cannot post the log for security policy reasons.
Anyway my local system is a Windows 7, NTFS filesystem. The remote server is a Linux system with a filesystem based on NFS.
In a path on the server I have a folder called "wca" and a symbolic link "WCA" that points to another folder. I cannot access to the folder "wca", because when I click on "wca" winscp opens the link "WCA" instead.
At the moment I'm using winscp 5.7.7 : with this versions the problem described above is not present.
I have also other kind of problems with higher versions, like crashes and freezes when I open some particular directories.
For all these reasons I'm forced to use the version 5.7.7 that is perfect for my purposes.

Reply with quote

Guest

After some use the case-insensitive behavior problem is happening also with 5.7.7 :(
Anyway I noticed that if I refresh the parent directory, then access first to "wca", I can access to both folder (wca and WCA) without problem.
If I access first to "WCA", then I cannot acces anymore to the folder "wca" until I refresh the parent directory.

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
40,476
Location:
Prague, Czechia

Anonymous wrote:

After some use the case-insensitive behavior problem is happening also with 5.7.7 :(
Anyway I noticed that if I refresh the parent directory, then access first to "wca", I can access to both folder (wca and WCA) without problem.
If I access first to "WCA", then I cannot acces anymore to the folder "wca" until I refresh the parent directory.
Then it may help, if you disable the Cache directory changes session option:
https://winscp.net/eng/docs/ui_login_directories

Reply with quote

Advertisement

Advertisement

You can post new topics in this forum