largefiles: reset "lfstatus" attribute to previous value in "finally"
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 18 Oct 2019 15:14:51 -0700
changeset 43295 013637f4812e
parent 43294 03dae1044edd
child 43296 2cb787b65cf2
largefiles: reset "lfstatus" attribute to previous value in "finally" We were resetting it to False, which means nesting of these overrides would be incorrect. Differential Revision: https://phab.mercurial-scm.org/D7137
hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py	Fri Oct 18 14:40:50 2019 -0700
+++ b/hgext/largefiles/overrides.py	Fri Oct 18 15:14:51 2019 -0700
@@ -160,11 +160,12 @@
 
 @contextlib.contextmanager
 def lfstatus(repo):
+    oldvalue = getattr(repo, 'lfstatus', False)
     repo.lfstatus = True
     try:
         yield
     finally:
-        repo.lfstatus = False
+        repo.lfstatus = oldvalue
 
 
 def removelargefiles(ui, repo, isaddremove, matcher, uipathfn, dryrun, **opts):