##// END OF EJS Templates
discovery: do not use the implicit updating of the "base" arg
Benoit Boissinot -
r12759:9c579422 default
parent child Browse files
Show More
@@ -183,17 +183,19 b' def findoutgoing(repo, remote, base=None'
183 the remote repository.
183 the remote repository.
184 """
184 """
185 if base is None:
185 if base is None:
186 base = {}
186 base = findcommonincoming(repo, remote, heads=remoteheads,
187 findincoming(repo, remote, base, remoteheads, force=force)
187 force=force)[0]
188 else:
189 base = list(base)
188
190
189 repo.ui.debug("common changesets up to "
191 repo.ui.debug("common changesets up to "
190 + " ".join(map(short, base.keys())) + "\n")
192 + " ".join(map(short, base)) + "\n")
191
193
192 remain = set(repo.changelog.nodemap)
194 remain = set(repo.changelog.nodemap)
193
195
194 # prune everything remote has from the tree
196 # prune everything remote has from the tree
195 remain.remove(nullid)
197 remain.remove(nullid)
196 remove = base.keys()
198 remove = base
197 while remove:
199 while remove:
198 n = remove.pop(0)
200 n = remove.pop(0)
199 if n in remain:
201 if n in remain:
@@ -225,9 +227,9 b' def prepush(repo, remote, force, revs, n'
225 changegroup is a readable file-like object whose read() returns
227 changegroup is a readable file-like object whose read() returns
226 successive changegroup chunks ready to be sent over the wire and
228 successive changegroup chunks ready to be sent over the wire and
227 remoteheads is the list of remote heads.'''
229 remoteheads is the list of remote heads.'''
228 common = {}
229 remoteheads = remote.heads()
230 remoteheads = remote.heads()
230 inc = findincoming(repo, remote, common, remoteheads, force=force)
231 common, inc, rheads = findcommonincoming(repo, remote, heads=remoteheads,
232 force=force)
231
233
232 cl = repo.changelog
234 cl = repo.changelog
233 update = findoutgoing(repo, remote, common, remoteheads)
235 update = findoutgoing(repo, remote, common, remoteheads)
@@ -326,7 +328,7 b' def prepush(repo, remote, force, revs, n'
326
328
327 if revs is None:
329 if revs is None:
328 # use the fast path, no race possible on push
330 # use the fast path, no race possible on push
329 nodes = repo.changelog.findmissing(common.keys())
331 nodes = repo.changelog.findmissing(common)
330 cg = repo._changegroup(nodes, 'push')
332 cg = repo._changegroup(nodes, 'push')
331 else:
333 else:
332 cg = repo.changegroupsubset(update, revs, 'push')
334 cg = repo.changegroupsubset(update, revs, 'push')
General Comments 0
You need to be logged in to leave comments. Login now