Homepage: https://www.gnu.org/software/emacs
Author: Boris Goldowsky
Automatic file copying
This package helps you to keep identical copies of files in more than one place - possibly on different machines. When you save a file, it checks whether it is on the list of files with "shadows", and if so, it tries to copy it when you exit Emacs (or use the `shadow-copy-files' command). Installation & Use: Add clusters (if necessary) and file groups with `shadow-define-cluster', `shadow-define-literal-group', and `shadow-define-regexp-group' (see the documentation for these functions for information on how and when to use them). After doing this once, everything should be automatic. The lists of clusters and shadows are saved in `shadow-info-file', so that they can be remembered from one Emacs session to another, even (as much as possible) if the Emacs session terminates abnormally. The files needing to be copied are stored in `shadow-todo-file'; if a file cannot be copied for any reason, it will stay on the list to be tried again next time. The `shadow-info-file' file should itself have shadows on all your accounts so that the information in it is consistent everywhere, but `shadow-todo-file' is local information and should have no shadows. If you do not want to copy a particular file, you can answer "no" and be asked again next time you hit "C-x 4 s" or exit Emacs. If you do not want to be asked again, use "M-x shadow-cancel", and you will not be asked until you change the file and save it again. If you do not want to shadow that file ever again, you can edit it out of the shadows buffer. Anytime you edit the shadows buffer, you must type "M-x shadow-read-files" to load in the new information, or your changes will be overwritten! Bugs & Warnings: - It is bad to have two Emacsen both running shadowfile at the same time. It tries to detect this condition, but is not always successful. - You have to be careful not to edit a file in two locations before shadowfile has had a chance to copy it; otherwise "updating shadows" will overwrite one of the changed versions. - It ought to check modification times of both files to make sure it is doing the right thing. This will have to wait until `file-newer-than-file-p' works between machines. - It will not make directories for you, it just fails to copy files that belong in non-existent directories.