You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
2.1 KiB
34 lines
2.1 KiB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; Backup Settings
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(setq version-control t ;; Versionsnummern für backups
|
|
kept-new-versions 10 ;; Anzahl der Versionen, die zu behalten sind
|
|
kept-old-versions 0 ;; Anzahl der ältesten Versionen, die zu behalten sind
|
|
delete-old-versions t ;; Nicht nachfragen, ob alte Versionen gelöscht werden sollen
|
|
backup-by-copying t ;; Kopiere die Dateien, benenn sie nicht um
|
|
vc-make-backup-files t) ;; Mach backups von versionskontrollierten Dateien
|
|
|
|
(defvar PATH_BACKUP_BASE (expand-file-name "~/.emacs.d/backup/"))
|
|
|
|
;; N.B. backtrick and comma allow evaluation of expression when forming list
|
|
(setq backup-directory-alist
|
|
`(("" . ,(expand-file-name "per-save" PATH_BACKUP_BASE))))
|
|
|
|
;; Erstell Backup bei jedem Speichern
|
|
;; Dateien werden in den Unterordnern "per-session" einmalig je Emacs-Session und
|
|
;; in "per-save" bei jedem Speichern gebackupt
|
|
(defun backup-every-save ()
|
|
(when (not buffer-backed-up) ;; erstell ein per-session-backup beim ersten Speichern
|
|
(let ((backup-directory-alist ;; überschreib die default Parameter für per-sesssion-Backups
|
|
`(("." . ,(expand-file-name "per-session" PATH_BACKUP_BASE))))
|
|
(kept-new-versions 3))))
|
|
|
|
(let ((buffer-backed-up nil))) ;; Erstell per-save-Backup bei jedem Speichern.
|
|
;; Erstes Speichern ergibt ebenfalls ein per-session-Backup
|
|
)
|
|
|
|
(add-hook 'before-save-hook 'backup-every-save) ;;save hook hinzufügen
|
|
|
|
|
|
(provide 'base-backup)
|