Removing valuable data from 1 machine cascades and removes all the data on synced machines.
Keeping Trash the default behavior would save a lot of headaches and time (like I lost tonight) for the newcomers.
Having only 1 recent copy shouldn’t add much drag on the filesystem, and is super useful on accidental destructive operations.
Thanks for the quick reply and considering addressing this!
Sounds good to me.
Probably a bit unrelated - personally I use trash (trash-cli in aptitude) both on OSX and Linux aliased to rm.
Of course this was a new box and I didn’t have the alias set.
Just writing this in case you might want to take a look if it’s easy to implement on Linux as well. I’d prefer to have the same behavior across OS-es, but it’s not that important.
We have a custom versioning system already, where someone can write a little script which teaches Syncthing how to use trash-cli, or whatever their Linux trashcan of choice is.
Maybe we could add some examples of scripts for common linux (or other third-party) trashcans to the docs, but I think the case of using third-party trashcans on linux is well covered.
Neither dropbox nor any other tool that does the same job provides this (atleast locally as far as I am aware) and I would be very much against a tool like this keeping some garbage files it thinks are important without me asking it to do so.
I am definately against you duplicating or keeping around my 500GB VM images just because a user managed to shoot himself in the foot.
It’s the users fault, and the user needs to set up some other solution (or just enable versioning) if he cares about it.
Dropbox isn’t comparable as it has a server to keep things on. I think it’s come up a few times that the expectation is that deleted files end up in the Trash on systems that have a Trash.
Ah right, so @calmh suggested always enabling Trashcan versioning by default, and making it use the system Recycle Bin on OSX and Windows. You’re suggesting making it use the system Recycle Bin, and only enabling trashcan versioning by default on OSX and Windows?
So I am fine to enable by default everywhere, as long as deleted files go to some reasonable known place, rather than some hidden directory only the chosen few know of.
Most of Linux window managers provide trashcan functionality as well, yet it’s window manager specific.
A good example for this is send2trash python library, yet it seems you need cgo to do it properly on OS X. Perhaps there is a built in CLI tool to do that.
So I think it would be reasonable to enable trashcan archiving by default on Windows and OS X, and use the system trashcan there. On Linux (*BSD, Solaris, etc) there is no concept of a system trashcan and the general expectation is probably closer to “delete a file and it’s gone”. I would be fine with not changing the default there.