855 if self._tr is not None: |
855 if self._tr is not None: |
856 repo = self.repo |
856 repo = self.repo |
857 p = lambda: self._tr.writepending() and repo.root or "" |
857 p = lambda: self._tr.writepending() and repo.root or "" |
858 repo.hook('b2x-pretransactionclose', throw=True, pending=p, |
858 repo.hook('b2x-pretransactionclose', throw=True, pending=p, |
859 **self._tr.hookargs) |
859 **self._tr.hookargs) |
860 self._tr.close() |
|
861 hookargs = dict(self._tr.hookargs) |
860 hookargs = dict(self._tr.hookargs) |
862 def runhooks(): |
861 def runhooks(): |
863 repo.hook('b2x-transactionclose', **hookargs) |
862 repo.hook('b2x-transactionclose', **hookargs) |
864 repo._afterlock(runhooks) |
863 self._tr.addpostclose('b2x-hook-transactionclose', |
|
864 lambda: repo._afterlock(runhooks)) |
|
865 self._tr.close() |
865 |
866 |
866 def releasetransaction(self): |
867 def releasetransaction(self): |
867 """release transaction if created""" |
868 """release transaction if created""" |
868 if self._tr is not None: |
869 if self._tr is not None: |
869 self._tr.release() |
870 self._tr.release() |
1279 tr.hookargs['bundle2-exp'] = '1' |
1280 tr.hookargs['bundle2-exp'] = '1' |
1280 r = bundle2.processbundle(repo, cg, lambda: tr).reply |
1281 r = bundle2.processbundle(repo, cg, lambda: tr).reply |
1281 p = lambda: tr.writepending() and repo.root or "" |
1282 p = lambda: tr.writepending() and repo.root or "" |
1282 repo.hook('b2x-pretransactionclose', throw=True, pending=p, |
1283 repo.hook('b2x-pretransactionclose', throw=True, pending=p, |
1283 **tr.hookargs) |
1284 **tr.hookargs) |
1284 tr.close() |
|
1285 hookargs = dict(tr.hookargs) |
1285 hookargs = dict(tr.hookargs) |
1286 def runhooks(): |
1286 def runhooks(): |
1287 repo.hook('b2x-transactionclose', **hookargs) |
1287 repo.hook('b2x-transactionclose', **hookargs) |
1288 repo._afterlock(runhooks) |
1288 tr.addpostclose('b2x-hook-transactionclose', |
|
1289 lambda: repo._afterlock(runhooks)) |
|
1290 tr.close() |
1289 except Exception, exc: |
1291 except Exception, exc: |
1290 exc.duringunbundle2 = True |
1292 exc.duringunbundle2 = True |
1291 raise |
1293 raise |
1292 else: |
1294 else: |
1293 r = changegroup.addchangegroup(repo, cg, source, url) |
1295 r = changegroup.addchangegroup(repo, cg, source, url) |