Mercurial > public > mercurial-scm > hg
comparison mercurial/branchmap.py @ 43688:5cdc3c1292f6
branchmap: make "closed" a set from beginning instead of converting from list
Differential Revision: https://phab.mercurial-scm.org/D7427
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 14 Nov 2019 21:13:46 -0800 |
parents | 9c1eccdd7ed8 |
children | 7b14d649af1b |
comparison
equal
deleted
inserted
replaced
43687:f1dabf99db17 | 43688:5cdc3c1292f6 |
---|---|
105 """ | 105 """ |
106 cl = repo.changelog | 106 cl = repo.changelog |
107 clrev = cl.rev | 107 clrev = cl.rev |
108 clbranchinfo = cl.branchinfo | 108 clbranchinfo = cl.branchinfo |
109 rbheads = [] | 109 rbheads = [] |
110 closed = [] | 110 closed = set() |
111 for bheads in pycompat.itervalues(remotebranchmap): | 111 for bheads in pycompat.itervalues(remotebranchmap): |
112 rbheads += bheads | 112 rbheads += bheads |
113 for h in bheads: | 113 for h in bheads: |
114 r = clrev(h) | 114 r = clrev(h) |
115 b, c = clbranchinfo(r) | 115 b, c = clbranchinfo(r) |
116 if c: | 116 if c: |
117 closed.append(h) | 117 closed.add(h) |
118 | 118 |
119 if rbheads: | 119 if rbheads: |
120 rtiprev = max((int(clrev(node)) for node in rbheads)) | 120 rtiprev = max((int(clrev(node)) for node in rbheads)) |
121 cache = branchcache( | 121 cache = branchcache( |
122 remotebranchmap, | 122 remotebranchmap, |
123 repo[rtiprev].node(), | 123 repo[rtiprev].node(), |
124 rtiprev, | 124 rtiprev, |
125 closednodes=set(closed), | 125 closednodes=closed, |
126 ) | 126 ) |
127 | 127 |
128 # Try to stick it as low as possible | 128 # Try to stick it as low as possible |
129 # filter above served are unlikely to be fetch from a clone | 129 # filter above served are unlikely to be fetch from a clone |
130 for candidate in (b'base', b'immutable', b'served'): | 130 for candidate in (b'base', b'immutable', b'served'): |