Mercurial > public > mercurial-scm > hg-stable
diff mercurial/discovery.py @ 43106:d783f945a701
py3: finish porting iteritems() to pycompat and remove source transformer
This commit finishes porting .iteritems() to pycompat.iteritems()
for the mercurial package.
The translation of .iteritems() to .items() was the last conversion
performed by the source transformer. With the porting to pycompat
complete, we no longer have a need for the source transformer. So
the source transformer has been removed. Good riddance! The code
base is now compatible with Python 2 and Python 3.
For the record, as the person who introduced the source transformer,
it brings me joy to delete it. It accomplished its goal to facilitate
a port to Python 3 without overly burdening people on some painful
low-level differences between Python 2 and 3. It is unfortunate we
still have to wallpaper over many differences with the pycompat
shim. But it is what it is.
Differential Revision: https://phab.mercurial-scm.org/D7015
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 07 Oct 2019 00:04:04 -0400 |
parents | 687b865b95ad |
children | 8ff1ecfadcd1 |
line wrap: on
line diff
--- a/mercurial/discovery.py Sun Oct 06 19:25:18 2019 -0400 +++ b/mercurial/discovery.py Mon Oct 07 00:04:04 2019 -0400 @@ -21,6 +21,7 @@ branchmap, error, phases, + pycompat, scmutil, setdiscovery, treediscovery, @@ -226,7 +227,7 @@ knownnode = cl.hasnode # do not use nodemap until it is filtered # A. register remote heads of branches which are in outgoing set - for branch, heads in remotemap.iteritems(): + for branch, heads in pycompat.iteritems(remotemap): # don't add head info about branches which we don't have locally if branch not in branches: continue @@ -248,13 +249,13 @@ # This will possibly add new heads and remove existing ones. newmap = branchmap.remotebranchcache( (branch, heads[1]) - for branch, heads in headssum.iteritems() + for branch, heads in pycompat.iteritems(headssum) if heads[0] is not None ) newmap.update(repo, (ctx.rev() for ctx in missingctx)) - for branch, newheads in newmap.iteritems(): + for branch, newheads in pycompat.iteritems(newmap): headssum[branch][1][:] = newheads - for branch, items in headssum.iteritems(): + for branch, items in pycompat.iteritems(headssum): for l in items: if l is not None: l.sort() @@ -266,7 +267,7 @@ futureheads = set(torev(h) for h in outgoing.missingheads) futureheads |= set(torev(h) for h in outgoing.commonheads) allfuturecommon = repo.changelog.ancestors(futureheads, inclusive=True) - for branch, heads in sorted(headssum.iteritems()): + for branch, heads in sorted(pycompat.iteritems(headssum)): remoteheads, newheads, unsyncedheads, placeholder = heads result = _postprocessobsolete(pushop, allfuturecommon, newheads) headssum[branch] = ( @@ -362,7 +363,9 @@ headssum = _oldheadssummary(repo, remoteheads, outgoing, inc) pushop.pushbranchmap = headssum newbranches = [ - branch for branch, heads in headssum.iteritems() if heads[0] is None + branch + for branch, heads in pycompat.iteritems(headssum) + if heads[0] is None ] # 1. Check for new branches on the remote. if newbranches and not newbranch: # new branch requires --new-branch @@ -390,7 +393,7 @@ # If there are more heads after the push than before, a suitable # error message, depending on unsynced status, is displayed. errormsg = None - for branch, heads in sorted(headssum.iteritems()): + for branch, heads in sorted(pycompat.iteritems(headssum)): remoteheads, newheads, unsyncedheads, discardedheads = heads # add unsynced data if remoteheads is None: