Mercurial > hg
changeset 23000:90c425f80316
pull: call the `b2x-transactionclose` hook when closing the transaction
We need a wider set of hooks to process all the changes that happened during the
pull transaction. We reuse the experimental `b2x-transactionclose` hook set
from server's unbundle for consistency. This hook is experimental and will not
remains as-is forever, but this will open the door for experimentation in 3.2.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Wed, 15 Oct 2014 04:19:37 -0700 |
parents | 88ac1be3f767 |
children | 4df9b5e62f70 |
files | mercurial/exchange.py tests/test-bundle2-exchange.t |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/exchange.py Wed Oct 08 02:45:21 2014 -0700 +++ b/mercurial/exchange.py Wed Oct 15 04:19:37 2014 -0700 @@ -834,7 +834,14 @@ def closetransaction(self): """close transaction if created""" if self._tr is not None: + repo = self.repo + cl = repo.unfiltered().changelog + p = cl.writepending() and repo.root or "" + p = cl.writepending() and repo.root or "" + repo.hook('b2x-pretransactionclose', throw=True, pending=p, + **self._tr.hookargs) self._tr.close() + repo.hook('b2x-transactionclose', **self._tr.hookargs) def releasetransaction(self): """release transaction if created"""
--- a/tests/test-bundle2-exchange.t Wed Oct 08 02:45:21 2014 -0700 +++ b/tests/test-bundle2-exchange.t Wed Oct 15 04:19:37 2014 -0700 @@ -59,6 +59,7 @@ adding file changes added 2 changesets with 2 changes to 2 files 1 new obsolescence markers + b2x-transactionclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_URL=file:$TESTTMP/main changegroup hook: HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_SOURCE=pull HG_URL=file:$TESTTMP/main updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -81,6 +82,7 @@ adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) 1 new obsolescence markers + b2x-transactionclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_URL=file:$TESTTMP/main changegroup hook: HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_SOURCE=pull HG_URL=file:$TESTTMP/main (run 'hg heads' to see heads, 'hg merge' to merge) $ hg -R other log -G @@ -100,6 +102,7 @@ $ hg -R other pull -r 24b6387c8c8c pulling from $TESTTMP/main (glob) no changes found + b2x-transactionclose hook: HG_NEW_OBSMARKERS=0 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_URL=file:$TESTTMP/main $ hg -R other log -G o 2:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com> F | @@ -116,6 +119,7 @@ $ hg -R other pull -r 24b6387c8c8c pulling from $TESTTMP/main (glob) no changes found + b2x-transactionclose hook: HG_NEW_OBSMARKERS=0 HG_SOURCE=pull HG_URL=file:$TESTTMP/main $ hg -R other log -G o 2:24b6387c8c8c public Nicolas Dumazet <nicdumz.commits@gmail.com> F | @@ -185,6 +189,7 @@ added 1 changesets with 1 changes to 1 files (+1 heads) 1 new obsolescence markers updating bookmark book_02de + b2x-transactionclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_URL=ssh://user@dummy/main changegroup hook: HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_SOURCE=pull HG_URL=ssh://user@dummy/main (run 'hg heads' to see heads, 'hg merge' to merge) $ hg -R other debugobsolete @@ -207,6 +212,7 @@ added 1 changesets with 1 changes to 1 files (+1 heads) 1 new obsolescence markers updating bookmark book_42cc + b2x-transactionclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_URL=http://localhost:$HGPORT/ changegroup hook: HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_SOURCE=pull HG_URL=http://localhost:$HGPORT/ (run 'hg heads .' to see heads, 'hg merge' to merge) $ cat main-error.log