Case Sensitivity & Synchronization

Advertisement

Guest

Case Sensitivity & Synchronization

I'm unable figure out how to get the synchronization function to delete remote files when the remote has two files of the same name but different capitalization. For example:

Local:
ad.gif
Remote:
ad.gif, AD.GIF
I would expect to see (in preview) that AD.GIF was to be deleted (when doing a remote synchronization). But instead it reports 'no differences found.' I have tried all permutations of 'Filename Modification' settings but to no affect.

When I view the directory in WinSCP, it'll show both the upper case and lower case version so that indicates to me that WinSCP is aware of the two files. I just can't seem to figure out how to get the synchronization option to kill off the upper case one... :)
WinSCP Version = 3.8.2
Client = Windows XP SP2
Server = Linux/Suse 10.0
SSH protocol version = SSH-2
SSH implementation = OpenSSH_3.9p1
Encryption algorithm = aes
Compression = Yes
File transfer protocol = SFTP (v3)
Interface Style = Norton
Thanks!

Andrew

Reply with quote

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
41,415
Location:
Prague, Czechia

Re: Case Sensitivity & Synchronization

As WinSCP is Windows application it is case-insensitive. I'll consider adding an option to override this.

Reply with quote

Ron
Joined:
Posts:
9
Location:
Boston, MA USA

Hi Martin,

I am also having an issue with upper case and lower case and synchronization.
I use WinSCP to keep a copy of my Linux files locally. I never upload (except in case of file restoration, which hasn't ever happened.... yet)

I have a remote (linux) directory that is sync'd containing
123.jpg
then file
123.JPG
is added to the remote directory.

The pre-action checklist shows that the new upper case linux file is going to overwrite the older lower case local file. A second sync ignores the older remote file, showing the directory up to date.

My first inclination is to try to prevent this happening on the source system in the first place, and to run a script to deal with the situation renaming/update db entries. That's fine. However there are now 100,000+- files and database entries in place, and not-under-my-control web links to these images.

Is there any way that an option could be written such that case insensitive duplicates can be filenameappended or otherwise identified so that they could be maintained separately AND later restored back to their original filename?

Or am I hosed at this point?

Thanks a bunch.

Reply with quote

Ron
Joined:
Posts:
9
Location:
Boston, MA USA

Thought I'd share my workaround approach.

I wrote some SQL to find linux-unique files that would be considered duplicates under windows. The SQL created a shell script that prepends "DUPLICATE-NAME-" to a copy of the earlier-dated file's filename. The shell script also checks if the file already exists so it doesn't "touch" the files again causing them to look like they need to be re-sync'd.

Now either all or the vast majority of these files (about 450 or them) are downloaded to the PC, and I'll be able to restore them if need be.

Known bug: I didn't handle the case of multiple duplicates -- it doesn't exist yet to my knowledge, and I'm going to restrict further creation of case insensitive files.
_________________
Good luck.

Reply with quote

Advertisement

nnixil
Joined:
Posts:
2
Location:
France

PLEASE FIX

Please fix this bug: update of my remote website under Linux fails because case modifications are NOT sync on the server...

Reply with quote

nnixil

Why is this bug very low?

This bug should be very high: you just can't sync to an HTTP server under unix: I have to first delete the remote, THEN sync!!! resulting to much more upload than needed!
I'm curently looking for another sync software only for that issue.

Reply with quote

martin
Site Admin
martin avatar

Re: Why is this bug very low?

nnixil wrote:

you just can't sync to an HTTP server under unix
Why? Can you explain?

Reply with quote

JDKD5235
Joined:
Posts:
2

Re: Case Sensitivity & Synchronization

I regularly synchronize from Windows to iOS. Changing the case of a file from a.txt to A.txt doesn't get replicated. It would be very helpful if case-sensitive synchronization was supported.

Reply with quote

Advertisement

hedgehog90
Joined:
Posts:
2

I've just run into this issue!

I regularly use the winscp cli to sync between my Windows machine and a linux webserver.
I was updating a nodejs app and was surprised to find it crashing on my server after uploading minor changes.
After much hair pulling I realised it was because I had changed the case of a particular directory on my local machine, but this change was not synced to the remote server.

Please fix this. You can't assume paths are case-insensitive if the client and the host are running different operating systems.

Reply with quote

mhoehn71
Guest

Seems to be fixed with Issue 71 - but is it available via command line?

In December 2020 with issue 71 (https://winscp.net/tracker/71) this seems to be fixed an with the current version of WinSCP I can it works. Bu unfortunately only via the GUI. Is there any way to use this parameter "case sensitive" with the command line?

Reply with quote

Advertisement

You can post new topics in this forum