# HG changeset patch # User Pierre-Yves David # Date 1675595123 -3600 # Node ID 088ee6adfb09123ab7e1bbd559916cb13c6fec80 # Parent c3c8ac540513ba0c43c4db7c12c1de544d99d188 largefiles: rely on main scoping for writing dirstate in `mergeupdate` Yeah, cleaner code. diff -r c3c8ac540513 -r 088ee6adfb09 hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py Sat Feb 04 16:54:46 2023 +0100 +++ b/hgext/largefiles/overrides.py Sun Feb 05 12:05:23 2023 +0100 @@ -1830,7 +1830,8 @@ raise error.ProgrammingError( b'largefiles is not compatible with in-memory merge' ) - with lfdirstate.changing_parents(repo): + with repo.dirstate.changing_parents(repo): + lfdirstate = lfutil.openlfdirstate(repo.ui, repo) result = orig(repo, node, branchmerge, force, *args, **kwargs) newstandins = lfutil.getstandinsstate(repo) @@ -1840,7 +1841,6 @@ # all the ones that didn't change as clean for lfile in oldclean.difference(filelist): lfdirstate.update_file(lfile, p1_tracked=True, wc_tracked=True) - lfdirstate.write(repo.currenttransaction()) if branchmerge or force or partial: filelist.extend(s.deleted + s.removed)