largefiles: rely on the higher level `changing_giles` in `mergerecordupdates`
authorPierre-Yves David <pierre-yves.david@octobus.net>
Sat, 04 Feb 2023 16:54:46 +0100
changeset 50048 c3c8ac540513
parent 50047 3c431f7551dd
child 50049 088ee6adfb09
largefiles: rely on the higher level `changing_giles` in `mergerecordupdates` Now that context open on the main dirstate also affect the underlying one, we can skip opening our own in `mergerecordupdates`
hgext/largefiles/overrides.py
--- a/hgext/largefiles/overrides.py	Wed Dec 14 00:46:58 2022 +0100
+++ b/hgext/largefiles/overrides.py	Sat Feb 04 16:54:46 2023 +0100
@@ -683,18 +683,12 @@
 def mergerecordupdates(orig, repo, actions, branchmerge, getfiledata):
     if MERGE_ACTION_LARGEFILE_MARK_REMOVED in actions:
         lfdirstate = lfutil.openlfdirstate(repo.ui, repo)
-        with lfdirstate.changing_parents(repo):
-            for lfile, args, msg in actions[
-                MERGE_ACTION_LARGEFILE_MARK_REMOVED
-            ]:
-                # this should be executed before 'orig', to execute 'remove'
-                # before all other actions
-                repo.dirstate.update_file(
-                    lfile, p1_tracked=True, wc_tracked=False
-                )
-                # make sure lfile doesn't get synclfdirstate'd as normal
-                lfdirstate.update_file(lfile, p1_tracked=False, wc_tracked=True)
-        lfdirstate.write(repo.currenttransaction())
+        for lfile, args, msg in actions[MERGE_ACTION_LARGEFILE_MARK_REMOVED]:
+            # this should be executed before 'orig', to execute 'remove'
+            # before all other actions
+            repo.dirstate.update_file(lfile, p1_tracked=True, wc_tracked=False)
+            # make sure lfile doesn't get synclfdirstate'd as normal
+            lfdirstate.update_file(lfile, p1_tracked=False, wc_tracked=True)
 
     return orig(repo, actions, branchmerge, getfiledata)