2009-03-20 11 views
52

Często, gdy przełączam gałęzie w git, jeśli pliki są otwarte w emacs, emacs pyta, czy chcę je przywrócić (jak się wydaje, że zmieniły się na dysku), mimo że zawartość jest identyczna.Jak mogę zmusić Emacs do przywrócenia wszystkich niezmienionych buforów podczas przełączania gałęzi w git?

Po pierwsze, chciałbym znaleźć sposób, żeby emacs nie pytał mnie o to w ogóle, jeśli zawartość na dysku jest identyczna z zawartością w buforze.

Po drugie chciałbym polecenia, które odwróciło (bez zapytania) wszystkie moje otwarte bufory, które nie mają niezapisanych zmian, i zapytał mnie o te, które mają niezapisane zmiany.

Alternatywnie, byłbym otwarty na sugestie dotyczące innych rozwiązań, sposobów pracy itp., Które mogłem wypróbować. Jestem całkiem zadowolony z pisania emacs-sepp, jeśli ludzie mogą mi wskazać, od czego zacząć.

PS Używam Aquamacs na OSX, jeśli to ma znaczenie.

Edit:

Cóż, znalazłem pakiet revbuffs być dość dużo, co muszę. Na pewno wystarczy, aby powstrzymać mnie przed próbą napisania czegoś nowego. (Zmapowałem revbuffs do Cmd-R, który działa całkiem nieźle, podobnie jak Cmd-R w innych aplikacjach Mac).

Tryb globalnego automatycznego przywracania byłby doskonałym rozwiązaniem i chciałbym wybrać dwie odpowiedzi. Wolę rebuffi po prostu z powodu, być może irracjonalnego, poczucia chęci kontrolowania tego, co się dzieje.

Zgaduję, że jeśli uzyskałem dostęp do gita z poziomu emacs, prawdopodobnie łatwiej byłoby z nim poradzić sobie, ale obecnie preferuję dostęp do git za pomocą linii poleceń. (Nie dość, że używam emacsa wystarczająco długo, aby uczynić go moim systemem operacyjnym). Tymczasem ja zbadam magit nieco dokładniej.

Edit2:

Używam MAGIT od roku i bardzo polecam go do czynienia z git od wewnątrz Emacsa. Jednak nadal używam rebuffów za każdym razem, gdy robię rebase poza emacs.

+1

wiem, że to jest stare, ale podoba mi się rozumowanie Singletoned, a mieć trochę widełki revbufs na github https://github.com/capitaomorte/revbufs –

Odpowiedz

17

Spróbuj revbufs package:

revbufs.el jest mały pakiet Emacs że bezpiecznie powraca swoich buforów kiedy masz pliki edytowane zarówno w Emacs i za pośrednictwem zewnętrznych narzędzi (np generatory kodu, takich jak Jomtool) ...

+0

Każdy sposób, aby ten automatyczny? Jak wspomina Singletoned w swojej edycji, musisz związać to z kluczem. – toolbear

11

Pakiet Magit zrobić to automatycznie, po aktywacji magit-ionotify-mode (inotify need emacs 24.4 na Linux). Jego opis można znaleźć here.

40

Być może potrzebujesz globalnego trybu automatycznego przywracania. Spróbuj uruchomić global-auto-revert-mode i jeśli Ci się spodoba, możesz dodać (global-auto-revert-mode) do pliku ~/.emacs.

Powiązane problemy