Come posso configurare Emacs in modo che tutti i backup siano collocati in una cartella di backup? per esempio/MyEmacsBackups
Come posso configurare Emacs in modo che tutti i backup siano collocati in una cartella di backup? per esempio/MyEmacsBackups
Risposte:
Dai un'occhiata backup-directory-alist
, che ti permette di impostare i percorsi di backup tramite regexp dei file. Per avere tutto andare in una directory, provare qualcosa del tipo:
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
Per i veramente paranoici (come me), c'è anche il backup-ogni-salvataggio , che (come suggerisce il nome) esegue il backup dei file ogni volta che vengono salvati in una posizione comoda. Ciò fornisce un ulteriore livello di protezione rispetto al controllo della versione tradizionale, ad esempio per quei casi in cui si cancella accidentalmente la directory di lavoro senza effettuare il check-in.
Di seguito è riportato un codice rapido dal mio .emacs
. Non solo inserisce i backup in una directory specifica, ma salva anche automaticamente e fa lo stesso per i file vagabondi, in modo che questi non vengano inseriti nel sistema remoto.
;; 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)