# HG changeset patch # User Pierre-Yves David # Date 1384634210 18000 # Node ID 2888a412f0b0933e608d2472e08607f4209dddb4 # Parent f694cd81b600b65d23dcdc7a02cfd6a57dd1d018 pull: fix post-pull common computation Before that changes, pulled revision that happend to be already known locally (so, not actually added) was not taken into account when computing the new common set between local and remote. It appears that we already know the heads of the pulled set. It is in the `rheads` variable, so we are just using it and everything is works fine. We are dropping the, now useless, computation of `added` set in the process. diff -r f694cd81b600 -r 2888a412f0b0 mercurial/localrepo.py --- a/mercurial/localrepo.py Mon Nov 25 22:00:46 2013 +0100 +++ b/mercurial/localrepo.py Sat Nov 16 15:36:50 2013 -0500 @@ -1670,7 +1670,6 @@ common, fetch, rheads = tmp if not fetch: self.ui.status(_("no changes found\n")) - added = [] result = 0 else: tr = self.transaction(trname) @@ -1696,16 +1695,13 @@ # be taken in account for phase synchronization. They may # becomes public and becomes visible again. cl = self.unfiltered().changelog - clstart = len(cl) result = self.addchangegroup(cg, 'pull', remote.url()) - clend = len(cl) - added = [cl.node(r) for r in xrange(clstart, clend)] # compute target subset if heads is None: # We pulled every thing possible # sync on everything common - subset = common + added + subset = common + rheads else: # We pulled a specific subset # sync on this subset