Как я могу настроить Emacs так, чтобы все резервные копии были помещены в одну папку резервных копий? например/MyEmacsBackups
Как я могу настроить Emacs так, чтобы все резервные копии были помещены в одну папку резервных копий? например/MyEmacsBackups
Ответы:
Оформить заказ backup-directory-alist
, который позволяет вам устанавливать места резервного копирования с помощью файла регулярных выражений. Чтобы все было в одном каталоге, попробуйте что-то вроде:
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
Для настоящих параноиков (таких как я) есть также backup-each-save , который (как следует из названия) создает резервные копии ваших файлов каждый раз, когда они сохраняются в удобном месте. Это дает дополнительный уровень защиты по сравнению с традиционным контролем версий, например, в тех случаях, когда вы случайно очищаете свой рабочий каталог, не проверяя что-либо в.
Ниже приведен быстрый код из моего .emacs
. Он не только помещает резервные копии в определенный каталог, но и автоматически сохраняет их и делает то же самое для файлов бродяг, чтобы они не помещались в удаленную систему.
;; Put backup files neatly away
(let ((backup-dir "~/tmp/emacs/backups")
(auto-saves-dir "~/tmp/emacs/auto-saves/"))
(dolist (dir (list backup-dir auto-saves-dir))
(when (not (file-directory-p dir))
(make-directory dir t)))
(setq backup-directory-alist `(("." . ,backup-dir))
auto-save-file-name-transforms `((".*" ,auto-saves-dir t))
auto-save-list-file-prefix (concat auto-saves-dir ".saves-")
tramp-backup-directory-alist `((".*" . ,backup-dir))
tramp-auto-save-directory auto-saves-dir))
(setq backup-by-copying t ; Don't delink hardlinks
delete-old-versions t ; Clean up the backups
version-control t ; Use version numbers on backups,
kept-new-versions 5 ; keep some new versions
kept-old-versions 2) ; and some old ones, too
;; put all backup files into ~/MyEmacsBackups
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
(setq backup-by-copying t)