diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -2291,10 +2291,7 @@ # If we're doing a partial update, we need to skip updating # the dirstate, so make a note of any partial-ness to the # update here. - if matcher is None or matcher.always(): - partial = False - else: - partial = True + always = matcher is None or matcher.always() with repo.wlock(): if wc is None: wc = repo[None] @@ -2507,7 +2504,7 @@ ### apply phase if not branchmerge: # just jump to the new rev fp1, fp2, xp1, xp2 = fp2, nullid, xp2, b'' - updatedirstate = not partial and not wc.isinmemory() + updatedirstate = always and not wc.isinmemory() if updatedirstate: repo.hook(b'preupdate', throw=True, parent1=xp1, parent2=xp2) # note that we're in the middle of an update