Skip to content

r-zip/rsync-mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

rsync-mode

rsync-mode is a minor mode to automatically rsync entire projects to remote hosts in Emacs. The rsync-mode minor mode provides a spinner in the status bar to display project/file synchronization progress. It also offers an option to automatically rsync the current project on every save.

Project configuration

To specify remote hosts for the project, set the directory-local variables rsync-remote-paths, rsync-local-path, and rsync-excluded-dirs at the project root level.

Here is an example that will enable synchronization on save for any file that is in a subdirectory of the project root:

;;; Directory Local Variables
;;; For more information see (info "(emacs) Directory Variables")

((nil . ((rsync-remote-paths . ("remote:/path/to/remote/directory"))
         (rsync-local-path . "/path/to/local/directory/")
         (rsync-excluded-dirs . (".git"
                                 "data"
                                 ".ipynb_checkpoints"
                                 ".pytest_cache"
                                 "venv"
                                 "*.egg-info"))
         (rsync-sync-on-save . t)
         (eval . (progn (require 'rsync-mode) (rsync-mode))))))

Commands

Two functions are defined for interactive use: rsync and rsync-all. The former synchronizes files to a single remote, which is chosen interactively, with completions read from the rsync-remote-paths directory-local variable.

The function rsync-all synchronizes the current project to all remote hosts found in the directory-local variable rsync-remote-paths.

Minor mode

The minor mode rsync-mode adds a progress bar indicator to the modeline. If rsync-sync-on-save is t, rsync-mode also adds a hook that runs rsync-all on save, which is especially convenient for remote development.

About

rsync projects to remote machines in Emacs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors