shadowfile

Homepage: https://www.gnu.org/software/emacs

Author: Boris Goldowsky

Summary

Automatic file copying

Commentary

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.

Dependencies