Mercurial > public > mercurial-scm > hg-stable
diff hgext/largefiles/overrides.py @ 48180:df3021c1f093
largefiles: pass current transaction to `lfdirstate.write()`
Right now, the largefile dirstate is not included in transaction which makes
things complex. Next patch will add code to do so, so let's make it mandatory to
pass current transaction and pass from all existing callers.
Differential Revision: https://phab.mercurial-scm.org/D11610
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 19 Jul 2021 04:11:08 +0530 |
parents | 5105a9975407 |
children | 941fbaab5aff |
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py Thu Oct 07 10:23:57 2021 -0400 +++ b/hgext/largefiles/overrides.py Mon Jul 19 04:11:08 2021 +0530 @@ -151,7 +151,7 @@ ) standins.append(standinname) lfdirstate.set_tracked(f) - lfdirstate.write() + lfdirstate.write(repo.currenttransaction()) bad += [ lfutil.splitstandin(f) for f in repo[None].add(standins) @@ -229,7 +229,7 @@ for f in remove: lfdirstate.set_untracked(lfutil.splitstandin(f)) - lfdirstate.write() + lfdirstate.write(repo.currenttransaction()) return result @@ -659,7 +659,7 @@ ) # make sure lfile doesn't get synclfdirstate'd as normal lfdirstate.update_file(lfile, p1_tracked=False, wc_tracked=True) - lfdirstate.write() + lfdirstate.write(repo.currenttransaction()) return orig(repo, actions, branchmerge, getfiledata) @@ -864,7 +864,7 @@ util.copyfile(repo.wjoin(srclfile), repo.wjoin(destlfile)) lfdirstate.set_tracked(destlfile) - lfdirstate.write() + lfdirstate.write(repo.currenttransaction()) except error.Abort as e: if e.message != _(b'no files to copy'): raise e @@ -896,7 +896,7 @@ with repo.wlock(): lfdirstate = lfutil.openlfdirstate(ui, repo) s = lfutil.lfdirstatestatus(lfdirstate, repo) - lfdirstate.write() + lfdirstate.write(repo.currenttransaction()) for lfile in s.modified: lfutil.updatestandin(repo, lfile, lfutil.standin(lfile)) for lfile in s.deleted: @@ -1383,7 +1383,7 @@ lfdirstate = lfutil.openlfdirstate(ui, repo) for f in forget: lfdirstate.set_untracked(f) - lfdirstate.write() + lfdirstate.write(repo.currenttransaction()) standins = [lfutil.standin(f) for f in forget] for f in standins: repo.wvfs.unlinkpath(f, ignoremissing=True) @@ -1792,7 +1792,7 @@ # interrupted before largefiles and lfdirstate are synchronized for lfile in oldclean: lfdirstate.set_possibly_dirty(lfile) - lfdirstate.write() + lfdirstate.write(repo.currenttransaction()) oldstandins = lfutil.getstandinsstate(repo) wc = kwargs.get('wc') @@ -1812,7 +1812,7 @@ # 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() + lfdirstate.write(repo.currenttransaction()) if branchmerge or force or partial: filelist.extend(s.deleted + s.removed)