tools/magit: speed up git calls in magit

But only for local repos.
This commit is contained in:
Henrik Lissner 2020-08-14 16:49:49 -04:00
parent ed8dca3c69
commit e49b4a8123
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -98,7 +98,19 @@ For example, diffs and log buffers. Accepts `left', `right', `up', and `down'.")
(define-key magit-status-mode-map [remap magit-mode-bury-buffer] #'+magit/quit) (define-key magit-status-mode-map [remap magit-mode-bury-buffer] #'+magit/quit)
;; Close transient with ESC ;; Close transient with ESC
(define-key transient-map [escape] #'transient-quit-one)) (define-key transient-map [escape] #'transient-quit-one)
;; An optimization that particularly affects macOS and Windows users: by
;; resolving `magit-git-executable' (and others) Emacs does less work to find
;; the executable in your PATH, which is great because it is called so
;; frequently. However, absolute paths will break magit in TRAMP/remote
;; projects if the git executable isn't in the exact same location.
(add-hook! 'magit-status-mode-hook
(defun +magit-optimize-process-calls-h ()
(unless (file-remote-p default-directory)
(setq-local magit-git-executable (executable-find magit-git-executable)
magit-perl-executable (executable-find magit-perl-executable)
magit-gitk-executable (executable-find magit-gitk-executable))))))
(use-package! forge (use-package! forge