From 2685422e1769a7d53b32657b366e67d9a4509bca Mon Sep 17 00:00:00 2001
From: Tim Pope <code@tpope.net>
Date: Sat, 16 Oct 2021 11:11:31 -0400
Subject: [PATCH] Attempt to catch overlapping status reloads

---
 autoload/fugitive.vim | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim
index 5af4c4fd..a3470c77 100644
--- a/autoload/fugitive.vim
+++ b/autoload/fugitive.vim
@@ -2556,6 +2556,10 @@ function! fugitive#BufReadStatus(...) abort
   let b:fugitive_type = 'index'
   unlet! b:fugitive_reltime
   try
+    if exists('b:fugitive_reloading')
+      throw 'double status reload???'
+    endif
+    let b:fugitive_reloading = 1
     silent doautocmd BufReadPre
     let config = fugitive#Config()
 
@@ -2878,6 +2882,8 @@ function! fugitive#BufReadStatus(...) abort
     return s:DoAutocmd('User FugitiveIndex')
   catch /^fugitive:/
     return 'echoerr ' . string(v:exception)
+  finally
+    unlet! b:fugitive_reloading
   endtry
 endfunction
 
-- 
GitLab