# Doesn't sync files which names contain \`:\`

**URL:** https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409
**Category:** Support
**Created:** [June 21, 2023, 12:36am UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409 "2023-06-21T00:36:06Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![es20490446e](https://forum.syncthing.net/user_avatar/forum.syncthing.net/es20490446e/32/6658_2.png) [@es20490446e](https://forum.syncthing.net/u/es20490446e)
#### Post date: [June 21, 2023, 12:36am UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/1 "2023-06-21T00:36:07Z")

</div>

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`

---

<div class="post-metadata">

### Author: ![es20490446e](https://forum.syncthing.net/user_avatar/forum.syncthing.net/es20490446e/32/6658_2.png) [@es20490446e](https://forum.syncthing.net/u/es20490446e)
#### Post date: [June 21, 2023, 12:37am UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/2 "2023-06-21T00:37:07Z")

</div>

> <https://github.com/syncthing/syncthing/issues/8945>
>
> 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\`

---

<div class="post-metadata">

### Author: ![gadget](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/g/dec6dc/32.png) [@gadget](https://forum.syncthing.net/u/gadget)
#### Post date: [June 21, 2023, 3:13am UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/3 "2023-06-21T03:13:55Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![Martchus](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@Martchus](https://forum.syncthing.net/u/Martchus)
#### Post date: [June 21, 2023, 3:16pm UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/4 "2023-06-21T15:16:27Z")

</div>

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

---

<div class="post-metadata">

### Author: ![es20490446e](https://forum.syncthing.net/user_avatar/forum.syncthing.net/es20490446e/32/6658_2.png) [@es20490446e](https://forum.syncthing.net/u/es20490446e)
#### Post date: [June 21, 2023, 3:42pm UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/5 "2023-06-21T15:42:18Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![Martchus](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@Martchus](https://forum.syncthing.net/u/Martchus)
#### Post date: [June 21, 2023, 3:59pm UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/6 "2023-06-21T15:59:24Z")

</div>

> [@es20490446e](#):
>
> So the package in the private repository overrides any existing copy in some other repository.

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.

> [@es20490446e](#):
>
> If there was no epoch it may go wacko.

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 🙂

---

<div class="post-metadata">

### Author: ![es20490446e](https://forum.syncthing.net/user_avatar/forum.syncthing.net/es20490446e/32/6658_2.png) [@es20490446e](https://forum.syncthing.net/u/es20490446e)
#### Post date: [June 21, 2023, 4:15pm UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/7 "2023-06-21T16:15:13Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![gadget](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/g/dec6dc/32.png) [@gadget](https://forum.syncthing.net/u/gadget)
#### Post date: [June 21, 2023, 5:51pm UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/8 "2023-06-21T17:51:35Z")

</div>

> [@Martchus](#):
>
> 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 🙂

Thanks for the reminder. 😀

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.

---

<div class="post-metadata">

### Author: ![Martchus](https://forum.syncthing.net/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@Martchus](https://forum.syncthing.net/u/Martchus)
#### Post date: [June 21, 2023, 8:32pm UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/9 "2023-06-21T20:32:58Z")

</div>

> [@es20490446e](#):
>
> It won’t work if the package in the secondary repo for some reason gets a higher version, it will upgrade to that one.

Not according to my experience and also not according to the [documentation](https://archlinux.org/pacman/pacman.conf.5.html#_repository_sections). Considering this way of prioritizing repositories is a documented feature you may have found a bug.

---

<div class="post-metadata">

### Author: ![es20490446e](https://forum.syncthing.net/user_avatar/forum.syncthing.net/es20490446e/32/6658_2.png) [@es20490446e](https://forum.syncthing.net/u/es20490446e)
#### Post date: [June 21, 2023, 11:22pm UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/10 "2023-06-21T23:22:41Z")

</div>

Whoopsie. Time to bisect then 😛

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

---

<div class="post-metadata">

### Author: ![rasa](https://forum.syncthing.net/user_avatar/forum.syncthing.net/rasa/32/10531_2.png) [@rasa](https://forum.syncthing.net/u/rasa)
#### Post date: [June 22, 2023, 4:37am UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/11 "2023-06-22T04:37:46Z")

</div>

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

---

<div class="post-metadata">

### Author: ![system](https://forum-uploads.syncthingcdn.net/original/2X/0/0b50e0a202b22ae6a67190759e8c868805b8ed9f.png) [@system](https://forum.syncthing.net/u/system)
#### Post date: [July 22, 2023, 4:38am UTC](https://forum.syncthing.net/t/doesnt-sync-files-which-names-contain/20409/12 "2023-07-22T04:38:36Z")

</div>

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