From: Michael Albinus Date: Sat, 29 Sep 2018 10:40:15 +0000 (+0200) Subject: Finish fix for Bug#21559 X-Git-Tag: emacs-27.0.90~4365 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fd369be7ebf08414f4c517c7c2e854ccb9d520bc;p=emacs.git Finish fix for Bug#21559 * lisp/vc/vc-git.el (vc-git--call): If `revert-buffer-in-progress-p' flag is set, prepend "GIT_OPTIONAL_LOCKS=0" to "process-environment". (Bug#21559) --- diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 03afce51709..4ea7ea53442 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -1628,8 +1628,15 @@ The difference to vc-do-command is that this function always invokes (or coding-system-for-read vc-git-log-output-coding-system)) (coding-system-for-write (or coding-system-for-write vc-git-commits-coding-system)) - (process-environment (cons "PAGER=" process-environment))) - (push "GIT_DIR" process-environment) + (process-environment + (append + `("GIT_DIR" + "PAGER=" + ;; Avoid repository locking during background operations + ;; (bug#21559). + ,@(when revert-buffer-in-progress-p + '("GIT_OPTIONAL_LOCKS=0"))) + process-environment))) (apply 'process-file vc-git-program nil buffer nil command args))) (defun vc-git--out-ok (command &rest args)