This project aims to create a backup system for emacs using both power of git to store changes and power of helm to fetch backups easily.
- Diff view to revert changes easily
- Open backup in buffer or replace current one through helm
- Exclude files/folders from backup
- Customize storage path
- git (>= 1.5) (binary)
- helm (emacs library)
- s (emacs library)
For emacs prior version 24.3 :
- cl-lib (emacs library)
You can use melpa:
M-x package-install RET helm-backup
or you can pull it from here and you have to add in your emacs config :
(add-to-list 'load-path "/path/to/helm-backup-directory")
(require 'helm-backup)
If you want to store every change each time you save a file add :
(add-hook 'after-save-hook 'helm-backup-versioning)
or
M-x customize-variable RET after-save-hook RET [INS] helm-backup-versioning
You can map helm-backup
command to key to retrieve easily backup as follow :
(global-set-key (kbd "C-c b") 'helm-backup)
After that, open a file, press C-c b
and a list of backup will be displayed if any, you can choose to see backup in new buffer (default) or override current buffer with backup.
You can customize several configuration options, do :
M-x customize-group RET helm-backup
It's possible to remove all backups of a file by calling, from the buffer where your file is open, helm-backup-remove-file-backups
.
First you need to install cask :
curl -fsSkL https://raw.github.com/cask/cask/master/go | python
Add cask to your path :
export PATH=$PATH:/home/YOUR_USERNAME/.cask/bin
Download dependencies using cask :
make downloads
Run tests :
make test