← Back to team overview

syncany-team team mailing list archive

Re: Illegal file names

 

Hi again,

this is a difficult topic.

> I would like to add that that you need to consider the operating
> > system's character encoding, even among different flavors of *nix.
>

Encoding is yet another issue, true. I'll try to address it in the options
below. I'm not quite sure how to solve it yet. Here are a few
thoughts/options:

*A) Ignoring stuff in the "up" operation/indexer (least common denominator)*
1. Illegal filenames: Ignore all files with any characters that are illegal
on Windows, Mac or Linux (ignore in "Indexer")
2. Case conflicts: If a case conflict is detected (while indexing, in
"Indexer"), ignore the "new" file. (if "file" was there first, "FILE" will
be ignored)
3. Encoding issues: This is impossible to catch because in the "up"
operation, the target encodings are not known; so there is no way to detect
encoding issues; e.g. if I index on ext3 with UTF8 filenames, I cannot know
if someone with a FAT FS with latin1 filenames will sync perform a "down"
later.

Pros/Cons:
+ Probably easy to implement
- Not so cool for Linux<->Linux sync
- No encoding solution

Open Issues:
- How does this affect filename encoding?!
- Unclear how this behaves when "FILE" and "file" are created on two
different machines and then sync'd...

*B) Upload, but refuse to reconstruct illegal files/conflicts (don't care
approach)*
1. Illegal filenames: Index and upload files with filenames that are/might
be illegal on other systems, but refuse to "reconstruct" these files if
they conflict (-> this could get ugly, because those files might be
considered "deleted" in the next "up" operation; how to solve this?)
2. Case conflicts: Like in (1)
3. Encoding issues: If a file was uploaded and the encoding of the target
filesystem (e.g. FAT32 with latin1 filenames) does not support the
filename, behave like (1)

Pros/Cons:
+ Syncs more files
+ No issues with Linux<->Linux sync
+ Also handles encoding issues.

Open issues:
- How to handle files that were not reconstructed?!

Any other options?
Thoughts?

Best
Philipp

Follow ups

References