Doesn't sync files which names contain `:`

Syncthing is unable to sync files if their names contain :

Which is what is happening to me while building Arch Linux packages that contains not only pkgver but epoch, for example:

c++utilities-100:5.23.0-4-x86_64.pkg.tar.zst

Syncthing can sync files with punctuation – including a colon – just fine but it depends on the destination filesystem.

For example, if the source is an ext2/3/4 filesystem but the destination is FAT/NTFS, files with /\:*"?<>| and/or NUL characters will be rejected.

Windows will also reject files/directories that clash with some reserved names.

1 Like

And I must ask: Why did you set epoch to 100? That seems like a very strange thing to do.

So the package in the private repository overrides any existing copy in some other repository.

This is important if the package arranges depends differently.

For example pamac packages are named differently, it depends on pacman-auto-update, and pacman-mirrors is an optdepend for compatibility with multiple distros.

If there was no epoch it may go wacko.

Normally, pacman goes through the list of repos in the order they are specified in pacman.conf. That means repos specified first override repos that come after (when installing/updating). So I recommend to simply put your private repo first.

Maybe. However, the described approach has worked for me reliably for a long time without further hacks.

By the way, I suppose it was possible to create files on an NTFS filesystem via NTFS-3G that Windows would normally not allow. However, I also remember running into problems using that later on under Windows so I would really not recommend it :slight_smile:

It won’t work if the package in the secondary repo for some reason gets a higher version, it will upgrade to that one.

And about the filesystem I can’t really change it, cause it’s a phone.

Thanks for the reminder. :grinning:

Yes, both the FUSE-based NTFS-3G and Paragon Software’s NTFS3 Linux kernel module allow characters in file/directory names that aren’t supported by DOS/Windows.

1 Like

Not according to my experience and also not according to the documentation. Considering this way of prioritizing repositories is a documented feature you may have found a bug.

Whoopsie. Time to bisect then :stuck_out_tongue:

Maybe it’s a bug in pamac alone, that treats repository priorities differently than pacman.

See lib/fs: Encode filenames containing reserved characters (fixes #1734) by rasa · Pull Request #7876 · syncthing/syncthing · GitHub for a relevant PR.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.