Skip to content

An Elisp library that provides a simple rsync interface to Emacs

License

Notifications You must be signed in to change notification settings

lambdart/el-rsync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon.

It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied. It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use.

This library is just a Elisp interface to explore rsync capabilities direct from our beloved Emacs.

Dependencies

Elisp

  • env
  • auth-source
  • ansi-color

Non-Elisp

  • rsync

Version

  • 0.0.1 Alpha

Installation

Manually

Clone Rsync repository to a arbitrary location:

$ git clone https://github.com/lambdart/rsync.el ~/.emacs.d/site-elisp/rsync.el

Add Rsync directory to load-path inside your Emacs initialization file (init.el) and load it.

;; add to load-path
(add-to-list 'load-path "/replace/me/to/rsync.el/full/path")

;; load rsync feature
(require 'rsync nil t)
  • Note: For a more dynamic approach:
    • M-x load-file RET
    • M-x load-library RET rsync RET

Compile

  • Note: Optional but recommended.

To compile the files the the byte-compiled Elisp representation:

[at-rsync-el-root-directory]$ make

Usage

Customize

  • Note: To see all the options inside Emacs and customize it, use: M-x customize-group RET rsync RET.
rsync-program
Rsync program name. Should be located by executable-find function, (default: ‘rsync’).
rsync-switches
Rsync default options, (default: ‘-a -v –progress -r’).
rsync-buffer-name
Rsync process buffer name, (default: *rsync*).
rsync-create-buffer-flag
Non-nil means create rsync process buffer, (default: t) -> true.
rsync-kill-buffer-flag
Non-nil means automatically kill buffer when process exits, (default: t) -> true.
rsync-debug-flag
Non-nil means print debug messages on *Message* buffer.

References

  1. rsync(1)
  2. https://www.gnu.org/software/emacs/manual/auth.html
  3. https://en.wikipedia.org/wiki/Rsync

LICENSE

MIT

EOF

Endlessly gazing in nocturnal prime
She spoke of her vices and broke the rhyme
But baffled herself with the final line
My promise is made but my heart is thine
Face Of Melinda, Opeth

About

An Elisp library that provides a simple rsync interface to Emacs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published