News for hackers. Stuff that matters.
Re:Dropbox no longer follows symlinks to items outside of yo... by theaino on Saturday August 31, 2019 @09:57AM (#20846281)
As another commenter mentioned, it is actually very common to symlink dotfiles like that and is how most dotfile management tools work. Dropbox’s magic symlink following has always been the anti-pattern and has made it impossible to sync symlinks properly, until now apparently.
Re:Dropbox no longer follows symlinks to items outside of yo... by theon144 on Saturday August 31, 2019 @12:47PM (#20847392)
> Dropbox’s magic symlink following has always been the anti-pattern

Uh, what?

Following symlinks is the default behavior for unix programs that requires extra effort to work around, why would it be "magic", or an antipattern?

Re:Dropbox no longer follows symlinks to items outside of yo... by theaino on Saturday August 31, 2019 @03:43PM (#20848396)
Dropbox was replacing symlinks with the target file or directory tree in synced copies. This obviously breaks legitimate symlinks since the whole point of having the symlink is to have a reference to the target, not another copy of the target.

It’s really simple: symlinks are symlinks and should be synced as symlinks. Now they are.

Re:Dropbox no longer follows symlinks to items outside of yo... by codetrotter on Saturday August 31, 2019 @01:23PM (#20847588)
In the context of file archival and synchronization.

Just like how when you tar up a directory, the symlinks are stored as symlinks, not as the files they point to.

Re:Dropbox no longer follows symlinks to items outside of yo... by vinceguidry on Saturday August 31, 2019 @12:02PM (#20847099)
I stopped using symlink dotfile management when I realized that not every unix system you work on works well that way, the catalyst for this change was termux. Now I simply copy the files from Dropbox using a custom script. It replicates the utility of stow without the symlinks. Downside is I have to remember to rerun the script on all my machines whenever anything changes.

I fixed this by integrating all of personal software dev together into a singular build system that will run my sync script, which also manages the various package managers on my systems, once a day if it hasn't been run. Idempotency is my best friend.