685 |
685 |
686 if changesets > 0: |
686 if changesets > 0: |
687 p = lambda: cl.writepending() and repo.root or "" |
687 p = lambda: cl.writepending() and repo.root or "" |
688 if 'node' not in tr.hookargs: |
688 if 'node' not in tr.hookargs: |
689 tr.hookargs['node'] = hex(cl.node(clstart)) |
689 tr.hookargs['node'] = hex(cl.node(clstart)) |
|
690 hookargs = dict(tr.hookargs) |
|
691 else: |
|
692 hookargs = dict(tr.hookargs) |
|
693 hookargs['node'] = hex(cl.node(clstart)) |
690 repo.hook('pretxnchangegroup', throw=True, source=srctype, |
694 repo.hook('pretxnchangegroup', throw=True, source=srctype, |
691 url=url, pending=p, **tr.hookargs) |
695 url=url, pending=p, **hookargs) |
692 |
696 |
693 added = [cl.node(r) for r in xrange(clstart, clend)] |
697 added = [cl.node(r) for r in xrange(clstart, clend)] |
694 publishing = repo.ui.configbool('phases', 'publish', True) |
698 publishing = repo.ui.configbool('phases', 'publish', True) |
695 if srctype in ('push', 'serve'): |
699 if srctype in ('push', 'serve'): |
696 # Old servers can not push the boundary themselves. |
700 # Old servers can not push the boundary themselves. |
722 if srctype != 'strip': |
726 if srctype != 'strip': |
723 # During strip, branchcache is invalid but coming call to |
727 # During strip, branchcache is invalid but coming call to |
724 # `destroyed` will repair it. |
728 # `destroyed` will repair it. |
725 # In other case we can safely update cache on disk. |
729 # In other case we can safely update cache on disk. |
726 branchmap.updatecache(repo.filtered('served')) |
730 branchmap.updatecache(repo.filtered('served')) |
|
731 |
727 def runhooks(): |
732 def runhooks(): |
728 # These hooks run when the lock releases, not when the |
733 # These hooks run when the lock releases, not when the |
729 # transaction closes. So it's possible for the changelog |
734 # transaction closes. So it's possible for the changelog |
730 # to have changed since we last saw it. |
735 # to have changed since we last saw it. |
731 if clstart >= len(repo): |
736 if clstart >= len(repo): |
732 return |
737 return |
733 |
738 |
734 # forcefully update the on-disk branch cache |
739 # forcefully update the on-disk branch cache |
735 repo.ui.debug("updating the branch cache\n") |
740 repo.ui.debug("updating the branch cache\n") |
736 repo.hook("changegroup", source=srctype, url=url, |
741 repo.hook("changegroup", source=srctype, url=url, |
737 **tr.hookargs) |
742 **hookargs) |
738 |
743 |
739 for n in added: |
744 for n in added: |
740 repo.hook("incoming", node=hex(n), source=srctype, |
745 repo.hook("incoming", node=hex(n), source=srctype, |
741 url=url) |
746 url=url) |
742 |
747 |