diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py --- a/mercurial/changegroup.py +++ b/mercurial/changegroup.py @@ -354,6 +354,7 @@ def onchangelog(cl, rev): ctx = cl.changelogrevision(rev) + assert efilesset is not None # help pytype efilesset.update(ctx.files) repo.register_changeset(rev, ctx) @@ -531,12 +532,13 @@ if added: phases.registernew(repo, tr, targetphase, added) if phaseall is not None: - if duprevs: - duprevs.extend(added) + duplicates = duprevs + if duplicates: + duplicates.extend(added) else: - duprevs = added - phases.advanceboundary(repo, tr, phaseall, [], revs=duprevs) - duprevs = [] + duplicates = added + phases.advanceboundary(repo, tr, phaseall, [], revs=duplicates) + duprevs = duplicates = [] if changesets > 0: diff --git a/tests/test-check-pytype.t b/tests/test-check-pytype.t --- a/tests/test-check-pytype.t +++ b/tests/test-check-pytype.t @@ -10,7 +10,6 @@ probably hiding real problems. mercurial/bundlerepo.py # no vfs and ui attrs on bundlerepo -mercurial/changegroup.py # mysterious incorrect type detection mercurial/chgserver.py # [attribute-error] mercurial/cmdutil.py # No attribute 'markcopied' on mercurial.context.filectx [attribute-error] mercurial/context.py # many [attribute-error] @@ -56,7 +55,6 @@ $ pytype -V 3.6 --keep-going --jobs auto mercurial \ > -x mercurial/bundlerepo.py \ - > -x mercurial/changegroup.py \ > -x mercurial/chgserver.py \ > -x mercurial/cmdutil.py \ > -x mercurial/context.py \