Metti tutti i backup in una cartella di backup


15

Come posso configurare Emacs in modo che tutti i backup siano collocati in una cartella di backup? per esempio/MyEmacsBackups


Tenere presente che ciò potrebbe avere l'effetto collaterale non intenzionale di lasciare sul dispositivo informazioni persistenti, anche dopo che gli originali sono stati spostati / eliminati. Sarebbe consigliabile eliminare questa cartella di backup di tanto in tanto. Questi file di backup possono anche avere autorizzazioni diverse rispetto agli originali.
nispio,

Risposte:


17

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.


12

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                           


0

Metti questo nel tuo file init. Modificare il percorso nella directory di backup scelta.

;;backup directory
(setq backup-directory-alist '(("" . "~/.emacs.d/emacs_backup")))
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.