Mercurial > hg-stable
changeset 47652:12300ee6840b
largefile: use `parentchange` during rollback
rollback is updating parent without touching the working copy. It should wrapped
in a `parentchange` context.
Differential Revision: https://phab.mercurial-scm.org/D11108
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 08 Jul 2021 01:47:41 +0200 |
parents | 40811cc7fa56 |
children | 00d70f61d856 |
files | hgext/largefiles/overrides.py |
diffstat | 1 files changed, 8 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py Thu Jul 08 01:44:49 2021 +0200 +++ b/hgext/largefiles/overrides.py Thu Jul 08 01:47:41 2021 +0200 @@ -1636,13 +1636,14 @@ repo.wvfs.unlinkpath(standin, ignoremissing=True) lfdirstate = lfutil.openlfdirstate(ui, repo) - orphans = set(lfdirstate) - lfiles = lfutil.listlfiles(repo) - for file in lfiles: - lfutil.synclfdirstate(repo, lfdirstate, file, True) - orphans.discard(file) - for lfile in orphans: - lfdirstate.drop(lfile) + with lfdirstate.parentchange(): + orphans = set(lfdirstate) + lfiles = lfutil.listlfiles(repo) + for file in lfiles: + lfutil.synclfdirstate(repo, lfdirstate, file, True) + orphans.discard(file) + for lfile in orphans: + lfdirstate.drop(lfile) lfdirstate.write() return result