Subject: Re: bug#21559: 25.0.50; auto-revert-mode breaks git rebase

From: Eli Zaretskii <[email-masked]>
Date: Sat, 26 Sep 2015 10:41:23 +0300

> From: Ben Gamari <[email-masked]>
> Date: Fri, 25 Sep 2015 14:45:56 +0200
> 
> One imperfect workaround would be to instead schedule a worker to call
> `vc-fine-file-hook` at some point in the future when the repository is
> more likely to be idle (for instance, when there have been no change
> events for a second or so).

But autorevert already does exactly that: it doesn't act on file
changes immediately, only once every N seconds.  N defaults to 5,
perhaps you could try customizing auto-revert-interval to a larger
value to see if that solves the problem.

In any case, the issue here is that Emacs doesn't know when "the
repository is idle".  If someone can suggest how to tell that,
autorevert could be augmented not to revert VC files while the
repository is "busy".  From your description I understand that just
looking at index.lock is not good enough, since Git releases it more
than once in this scenario, while the rebase operation is still
on-going.

Btw, what is your value of auto-revert-check-vc-info?  If it's
non-nil, perhaps resetting it to nil will also avoid these problems.