# HG changeset patch # User Pierre-Yves David # Date 2023-02-04 15:54:46 # Node ID c3c8ac540513ba0c43c4db7c12c1de544d99d188 # Parent 3c431f7551ddcfbbbe49ebfcc925d3bc86ca604a 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` diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -683,18 +683,12 @@ def overridecalculateupdates( 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)