Come posso ottenere Emacs per ripristinare tutti i buffer invariate quando si passa filiali in git?

StackOverflow https://stackoverflow.com/questions/665600

  •  21-08-2019
  •  | 
  •  

Domanda

Spesso, quando passo filiali in git, se i file sono aperti in emacs, poi emacs chiede se voglio tornare loro (come si crede hanno cambiato su disco), anche se i contenuti sono identici.

In primo luogo mi piacerebbe trovare un modo per emacs non mi chiedere a tutti se il contenuto sul disco sono identici a quelli nel buffer.

In secondo luogo mi piacerebbe un comando che è ritornato (senza query) tutti i miei buffer aperti che non hanno le modifiche non salvate, e mi ha interrogato su quelle che hanno le modifiche non salvate.

In alternativa, sarei aperto a suggerimenti su altre soluzioni, metodi di lavoro, ecc ho potuto provare. Sono abbastanza felice di scrittura emacs-lisp se la gente mi può dare indicazioni su dove cominciare.

PS Sto usando Aquamacs su OSX se quello che conta.

Modifica:

Bene, ho trovato il pacchetto revbuffs di essere più o meno quello che mi serve. certamente abbastanza per fermare me che vogliono provare a scrivere qualcosa di nuovo me stesso. (I mappato revbuffs a Cmd-R che funziona abbastanza bene. Tipo di simile a Cmd-R in altre applicazioni Mac).

modalità Global-auto-revert sarebbe stato un perfettamente bene la soluzione, e vorrei poter scegliere due risposte. Io preferisco revbuffs semplicemente a causa di una, forse irrazionale, sensazione di voler essere in controllo di ciò che accade.

Avevo tipo di intuito che se acceduto git da dentro Emacs, allora potrebbe probabilmente essere gestita più facile, ma attualmente preferisco accesso git attraverso la riga di comando. (Non ho abbastanza stato con emacs abbastanza a lungo per rendere il mio sistema operativo). Io indagare magit un po 'più a fondo però.

Edit2:

Ho usato magit per un anno e lo consigliamo vivamente per trattare con git dall'interno di Emacs. Tuttavia ho ancora utilizzare revbuffs ogni volta che faccio un fuori rebase di emacs.

È stato utile?

Soluzione

Prova il revbufs pacchetto :

  

revbufs.el è un piccolo pacchetto di Emacs che ritorna in modo sicuro i buffer quando si dispone di file che vengono modificati sia in Emacs e via strumenti esterni (ad esempio, generatori di codice come Jomtool ) ...

Altri suggerimenti

Forse vuoi la modalità auto-revert globale. Provare a eseguire global-auto-revert-mode e se ti piace è possibile aggiungere (global-auto-revert-mode) al file ~ / .emacs.

pacchetto Magit fare questo automaticamente, quando si attiva magit-ionotify-mode (necessità inotify emacs 24.4 su Linux). La sua descrizione è possibile trovare qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top