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

From: Daniel Colascione <[email-masked]>
Date: Mon, 8 Feb 2016 13:19:52 -0800

On 02/07/2016 02:55 AM, Ben Gamari wrote:
> I've spoken with some folks in #git about this issue.
> 
>  * the index lock is held "because it needs to read the index and
>    compare it to the worktree. If it doesn't take the index lock, other
>    things could change either the index or the worktree underneath it,
>    making git status lie (or even crash)"
>    
>  * It sounds as though a patch refactoring `git rebase` such that it
>    holds the index lock may be considered, although this is a
>    non-trivial refactoring as `rebase` is currently a shell script

This problem is really a git bug. For any VCS, I should be able to, in
one terminal, run

  while true; do $VCS status; done

and in another terminal, run

  $VCS any-damn-operation

and not cause repository corruption or mysterious operation failures.
Maybe it's a good idea for Emacs to work around this particular bug in
git, but there is nothing semantically wrong with what vc-git is doing here.

FWIW, whatever its other faults, hg at least operates correctly here.