D11141: largefile: rearrange conditionnal in `synclfdirstate`
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Mon Jul 19 10:42:42 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
We can liquidate the special case early, so do we.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D11141
AFFECTED FILES
hgext/largefiles/lfutil.py
CHANGE DETAILS
diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py
--- a/hgext/largefiles/lfutil.py
+++ b/hgext/largefiles/lfutil.py
@@ -550,25 +550,23 @@
def synclfdirstate(repo, lfdirstate, lfile, normallookup):
lfstandin = standin(lfile)
- if lfstandin in repo.dirstate:
+ if lfstandin not in repo.dirstate:
+ lfdirstate.drop(lfile)
+ else:
stat = repo.dirstate._map[lfstandin]
state, mtime = stat.state, stat.mtime
- else:
- state, mtime = b'?', -1
- if state == b'n':
- if normallookup or mtime < 0 or not repo.wvfs.exists(lfile):
- # state 'n' doesn't ensure 'clean' in this case
+ if state == b'n':
+ if normallookup or mtime < 0 or not repo.wvfs.exists(lfile):
+ # state 'n' doesn't ensure 'clean' in this case
+ lfdirstate.normallookup(lfile)
+ else:
+ lfdirstate.normal(lfile)
+ elif state == b'm':
lfdirstate.normallookup(lfile)
- else:
- lfdirstate.normal(lfile)
- elif state == b'm':
- lfdirstate.normallookup(lfile)
- elif state == b'r':
- lfdirstate.remove(lfile)
- elif state == b'a':
- lfdirstate.add(lfile)
- elif state == b'?':
- lfdirstate.drop(lfile)
+ elif state == b'r':
+ lfdirstate.remove(lfile)
+ elif state == b'a':
+ lfdirstate.add(lfile)
def markcommitted(orig, ctx, node):
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list