unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Dmitry Gutov <dgutov@yandex.ru>
To: Alexei Khlebnikov <alexei.khlebnikov@gmail.com>, 21559@debbugs.gnu.org
Subject: bug#21559: 25.0.50; auto-revert-mode breaks git rebase
Date: Tue, 20 Feb 2018 01:41:55 +0200	[thread overview]
Message-ID: <5d7808ef-d61f-534d-53b3-bc1227b4c3b1@yandex.ru> (raw)
In-Reply-To: <CAJz13rgS6QbnSFLH-SgiNiaT1Xuuwg5Ew0GCwEGFE0=tJGd_Tg@mail.gmail.com>

On 2/15/18 9:08 PM, Alexei Khlebnikov wrote:
> Judging from the comment of the commit implementing the 
> "--no-optional-locks" switch,
> 
> https://github.com/git/git/commit/27344d6a6c8056664966e11acf674e5da6dd7ee3
> ​
> , the switch was implemented exactly for background refresh in "tools 
> like IDEs or fancy editors".
> I.e. for mitigating this particular bug! Now we only have to use this 
> switch in our "fancy editor".

OK, here's my question: what is a "background refresh"? Must be consider 
every VC operation to be "background"?

 From what I see of this switch's description, it's going to (slightly? 
imperceptibly?) slow down the VC operations. It would be cool to see 
some measurement of that effect.

Failing that, why don't we try something else first? If the problem 
occurs solely due to auto-revert-mode's calls to Git, let's try adding 
that environment variable binding inside auto-revert-handler. The patch 
is below. Does it solve the problem as well?

diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index cf145e0ee3..41e9f00049 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -709,7 +709,9 @@ auto-revert-handler
      ;; `preserve-modes' avoids changing the (minor) modes.  But we do
      ;; want to reset the mode for VC, so we do it manually.
      (when (or revert auto-revert-check-vc-info)
-      (vc-refresh-state))))
+      (let ((process-environment
+             (cons "GIT_OPTIONAL_LOCKS=0" process-environment)))
+        (vc-refresh-state)))))

  (defun auto-revert-tail-handler (size)
    (let ((modified (buffer-modified-p))





  parent reply	other threads:[~2018-02-19 23:41 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-25 12:45 bug#21559: 25.0.50; auto-revert-mode breaks git rebase Ben Gamari
2015-09-26  7:41 ` Eli Zaretskii
2015-09-28 14:11   ` Ben Gamari
2015-09-28 14:35     ` Eli Zaretskii
2015-09-28 15:05       ` Ben Gamari
2015-09-29  8:47     ` Michael Albinus
2015-10-26 18:43 ` bug#21559: [PATCH] autorevert: Wait for repository to become idle before calling vc-find-file-hook Ben Gamari
2015-10-26 18:43   ` bug#21559: [PATCH] autorevert: Wait a while " Ben Gamari
2015-10-27  8:25     ` Michael Albinus
2015-10-28 11:59       ` Ben Gamari
2015-10-28 14:45         ` Michael Albinus
2015-10-28 17:05           ` Ben Gamari
2015-10-29  8:20             ` Michael Albinus
2016-02-06  0:01 ` bug#21559: 25.0.50; auto-revert-mode breaks git rebase Mitchel Humpherys
2016-02-06 12:34   ` Ben Gamari
2016-02-07  1:34     ` Mitchel Humpherys
2016-02-07  5:03       ` Mitchel Humpherys
2016-02-07  5:21         ` Mitchel Humpherys
2016-02-07 10:22           ` Ben Gamari
2016-02-07 10:55             ` Ben Gamari
2016-02-07 17:06               ` Mitchel Humpherys
2016-02-07 17:22                 ` Ben Gamari
2016-02-08 21:19               ` Daniel Colascione
2016-09-09 20:56 ` Jason Merrill
2018-02-14 10:08 ` Alexei Khlebnikov
2018-02-15 19:08   ` Alexei Khlebnikov
2018-02-15 22:32     ` Alexei Khlebnikov
2018-02-19 23:41     ` Dmitry Gutov [this message]
2018-02-20  0:06       ` Alexei Khlebnikov
2018-02-20  0:17         ` Dmitry Gutov
2018-02-20  4:07           ` Eli Zaretskii
2018-02-20  7:40       ` Michael Albinus
2018-02-20 11:37         ` Dmitry Gutov
2018-02-20 11:53           ` Michael Albinus
2018-02-20 22:28             ` Dmitry Gutov
2018-02-21 22:07               ` Alexei Khlebnikov
2018-02-22 11:24                 ` Michael Albinus
2018-02-22 11:45                   ` Dmitry Gutov
2018-02-19 10:24 ` bug#21559: PATCH review needed: lisp/vc/vc-git.el (vc-git-state, vc-git-conflicted-files) Alexei Khlebnikov
2018-02-19 12:39   ` Michael Albinus
2018-02-19 15:29   ` Eli Zaretskii
2018-02-19 18:39     ` Alexei Khlebnikov
2018-02-19 18:50       ` Michael Albinus
2018-02-19 19:05         ` Alexei Khlebnikov
2018-02-19 23:35         ` Dmitry Gutov
2018-09-25 12:23 ` bug#21559: additional patch needed to set GIT_OPTIONAL_LOCKS=0 in all cases Andrew Ruder
2018-09-26  3:16   ` Phil Sainty
2018-09-26  9:45     ` Michael Albinus
2018-09-29 11:16       ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5d7808ef-d61f-534d-53b3-bc1227b4c3b1@yandex.ru \
    --to=dgutov@yandex.ru \
    --cc=21559@debbugs.gnu.org \
    --cc=alexei.khlebnikov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).