Mercurial > hg
comparison tests/test-hook.t @ 27739:d6d3cf5fda6f
hooks: add HG_NODE_LAST to txnclose and changegroup hook environments
Sometimes a txnclose or changegroup hook wants to iterate through all
the changesets in transaction: in that situation usually the revset
`$HG_NODE:` is used to select the revisions. Unfortunately this revset
sometimes may contain too many changesets because we don't have the
write lock while the hook runs newer changes may be added to
repository in the meantime.
That's why there is a need for extra variable carrying the information about
the last change in the transaction.
author | Mateusz Kwapich <mitrandir@fb.com> |
---|---|
date | Tue, 05 Jan 2016 17:37:59 -0800 |
parents | 42aa0e570eaa |
children | 24361fb68cba |
comparison
equal
deleted
inserted
replaced
27738:a0e783d26e81 | 27739:d6d3cf5fda6f |
---|---|
116 prechangegroup hook: HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) | 116 prechangegroup hook: HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) |
117 adding changesets | 117 adding changesets |
118 adding manifests | 118 adding manifests |
119 adding file changes | 119 adding file changes |
120 added 3 changesets with 2 changes to 2 files | 120 added 3 changesets with 2 changes to 2 files |
121 changegroup hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) | 121 changegroup hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_NODE_LAST=07f3376c1e655977439df2a814e3cc14b27abac2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) |
122 incoming hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) | 122 incoming hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) |
123 incoming hook: HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) | 123 incoming hook: HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) |
124 incoming hook: HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) | 124 incoming hook: HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) |
125 (run 'hg update' to get a working copy) | 125 (run 'hg update' to get a working copy) |
126 | 126 |
324 adding changesets | 324 adding changesets |
325 adding manifests | 325 adding manifests |
326 adding file changes | 326 adding file changes |
327 added 1 changesets with 1 changes to 1 files | 327 added 1 changesets with 1 changes to 1 files |
328 4:539e4b31b6dc | 328 4:539e4b31b6dc |
329 pretxnchangegroup.forbid hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PENDING=$TESTTMP/b HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) | 329 pretxnchangegroup.forbid hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_NODE_LAST=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PENDING=$TESTTMP/b HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob) |
330 transaction abort! | 330 transaction abort! |
331 rollback completed | 331 rollback completed |
332 abort: pretxnchangegroup.forbid1 hook exited with status 1 | 332 abort: pretxnchangegroup.forbid1 hook exited with status 1 |
333 [255] | 333 [255] |
334 $ hg -q tip | 334 $ hg -q tip |