Don't think what you want is possible using symlinks, but perhaps you could do it with bindfs.
bindfs --perms=a-w /path/to/original ~/Dropbox/whatever
So whatever
would be a read-only "view" of the original directory; Dropbox would be able to read it but not write to it. You'd have to make sure to run that command before the Dropbox daemon starts, or else Dropbox will think you deleted everything (which wouldn't hurt your originals, but you'd have to upload everything to Dropbox again).
If you don't want to use bindfs, you could do it with real bind mounts:
mount --bind /path/to/original /home/user/Dropbox/whatever
mount -o remount,ro /home/user/Dropbox/whatever
But you'd have to do that as root, and there's no way to do it in fstab
, AFAIK, so you'd still have to find a way to have it done before Dropbox starts (doubly so, because whatever
would be writeable between running the two commands).
Git
repository inside yourDropbox
folder andadd
your files into this repository -- you get version-control for free.