mercurial/streamclone.py
changeset 26460 79ef867538ea
parent 26459 3b28ffde133a
child 26461 09cc3c2e9ece
--- a/mercurial/streamclone.py	Fri Oct 02 23:08:15 2015 -0700
+++ b/mercurial/streamclone.py	Sat Oct 03 09:53:56 2015 -0700
@@ -253,31 +253,8 @@
         repo._writerequirements()
 
         if remotebranchmap:
-            rbheads = []
-            closed = []
-            for bheads in remotebranchmap.itervalues():
-                rbheads.extend(bheads)
-                for h in bheads:
-                    r = repo.changelog.rev(h)
-                    b, c = repo.changelog.branchinfo(r)
-                    if c:
-                        closed.append(h)
+            branchmap.replacecache(repo, remotebranchmap)
 
-            if rbheads:
-                rtiprev = max((int(repo.changelog.rev(node))
-                        for node in rbheads))
-                cache = branchmap.branchcache(remotebranchmap,
-                                              repo[rtiprev].node(),
-                                              rtiprev,
-                                              closednodes=closed)
-                # Try to stick it as low as possible
-                # filter above served are unlikely to be fetch from a clone
-                for candidate in ('base', 'immutable', 'served'):
-                    rview = repo.filtered(candidate)
-                    if cache.validfor(rview):
-                        repo._branchcaches[candidate] = cache
-                        cache.write(rview)
-                        break
         repo.invalidate()
     finally:
         lock.release()