diff -r 9ae766f2f452 -r a44446ff9ad8 mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Nov 11 00:15:22 2011 +0100 +++ b/mercurial/localrepo.py Fri Nov 11 00:19:00 2011 +0100 @@ -1978,6 +1978,9 @@ node=hex(cl.node(clstart)), source=srctype, url=url, pending=p) + added = [cl.node(r) for r in xrange(clstart, clend)] + if srctype != 'strip': + phases.advanceboundary(self, 0, added) # make changelog see real files again cl.finalize(trp) @@ -1994,9 +1997,8 @@ self.hook("changegroup", node=hex(cl.node(clstart)), source=srctype, url=url) - for i in xrange(clstart, clend): - self.hook("incoming", node=hex(cl.node(i)), - source=srctype, url=url) + for n in added: + self.hook("incoming", node=hex(n), source=srctype, url=url) # never return 0 here: if dh < 0: