changeset 43295:013637f4812e

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
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 18 Oct 2019 15:14:51 -0700
parents 03dae1044edd
children 2cb787b65cf2
files hgext/largefiles/overrides.py
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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):