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:
27,252
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.
_________________
Martin Prikryl

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
27,252
Location:
Prague, Czechia

Re: Case Sensitivity & Synchronization

This issue has been added to tracker.
_________________
Martin Prikryl

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.
_________________
Good luck.

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

You can post new topics in this forum