Enable symbolic link syncing for Windows

I haven’t tried this, but the docs says that on Windows the symbolic links are not synced.

Historically the reason for this was that creating one required administrator rights. These days in developer mode the Windows 10 should allow creating symbolic links without administrator rights.

I’ve read some issues, and it used to work if you ran syncthing as administrator, but I gather it was turned completly off.

Since I want to sync source files and development settings I use some symbolic links within the projects. I kind of depend on syncing them some how.

Would it be feasible to turn the symbolic link syncing back on now that it’s possible in Windows 10 (dev mode) without admin rights?

Thanks.

No, because symlinks on windows are a mess, as you have to explicitly define the type of the symlink at the point you create it (you cannot create a junction which is a directory type of symlink, and then point it to a file).

This causes various hacks, such as for invalid symlinks you first assume they will be files, then if suddenly a directory appears there you have to change the definition of the symlink on a system that doesn’t care about it (linux has to tell windows that the symlink now points to a directory). Now because the “type” of the symlink becomes part of the type, if you have 3 devices, one windows, two linux, and on those 2 linux machines you have the same symlink pointing at different types, you end up with non-sensical flip-flopping and never ending out of sync.

Furthermore, Windows 10 is great and all, but we can talk about this once Microsoft deprecates all other platforms that we run on prior to windows 10.

1 Like

Summarizing Audrius’ rant somwhat, there were a lot of issues with symlinks on Windows. They didn’t even work at all for many releases while we supposedly supported them, and no-one noticed or complained. Hence we determined that the cost of trying to make it work significantly outweighed the benefit, and I stand by that judgement today as well.

1 Like