[PATCH] hooks: add HG_NODE_LAST to txnclose and changegroup hook environments
Augie Fackler
raf at durin42.com
Tue Jan 12 09:17:00 CST 2016
On Tue, Jan 05, 2016 at 05:45:51PM -0800, Mateusz Kwapich wrote:
> # HG changeset patch
> # User Mateusz Kwapich <mitrandir at fb.com>
> # Date 1452044279 28800
> # Tue Jan 05 17:37:59 2016 -0800
> # Node ID 9bb94cc646059365c643ea355a6231213faeb28d
> # Parent 21b363bd87dc36b9c7ed9d103c34a2ed75fa69d5
> hooks: add HG_NODE_LAST to txnclose and changegroup hook environments
Queued with some copyediting for clarity on the log message. Thanks!
>
> Sometimes a txnclose or changegroup hook wants to iterate through all the
> changesets in transaction: in that situation usually the $HG_NODE: revset is
> used to select the revisions. Unfortunately this revset sometimes may contain
> to many changestet because we don't have the write lock in that time and the
> 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.
>
> diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
> --- a/mercurial/changegroup.py
> +++ b/mercurial/changegroup.py
> @@ -413,10 +413,12 @@ class cg1unpacker(object):
> if changesets > 0:
> if 'node' not in tr.hookargs:
> tr.hookargs['node'] = hex(cl.node(clstart))
> + tr.hookargs['node_last'] = hex(cl.node(clend - 1))
> hookargs = dict(tr.hookargs)
> else:
> hookargs = dict(tr.hookargs)
> hookargs['node'] = hex(cl.node(clstart))
> + hookargs['node_last'] = hex(cl.node(clend - 1))
> repo.hook('pretxnchangegroup', throw=True, **hookargs)
>
> added = [cl.node(r) for r in xrange(clstart, clend)]
> @@ -463,6 +465,7 @@ class cg1unpacker(object):
> for n in added:
> args = hookargs.copy()
> args['node'] = hex(n)
> + del args['node_last']
> repo.hook("incoming", **args)
>
> newheads = [h for h in repo.heads() if h not in oldheads]
> diff --git a/mercurial/help/config.txt b/mercurial/help/config.txt
> --- a/mercurial/help/config.txt
> +++ b/mercurial/help/config.txt
> @@ -762,9 +762,9 @@ additional information. For each hook be
> variables it is passed are listed with names of the form ``$HG_foo``.
>
> ``changegroup``
> - Run after a changegroup has been added via push, pull or unbundle.
> - ID of the first new changeset is in ``$HG_NODE``. URL from which
> - changes came is in ``$HG_URL``.
> + Run after a changegroup has been added via push, pull or unbundle. ID of the
> + first new changeset is in ``$HG_NODE`` and last in ``$HG_NODE_LAST``. URL
> + from which changes came is in ``$HG_URL``.
>
> ``commit``
> Run after a changeset has been created in the local repository. ID
> @@ -846,17 +846,16 @@ variables it is passed are listed with n
> transaction from being opened.
>
> ``pretxnclose``
> - Run right before the transaction is actually finalized. Any
> - repository change will be visible to the hook program. This lets you
> - validate the transaction content or change it. Exit status 0 allows
> - the commit to proceed. Non-zero status will cause the transaction to
> - be rolled back. The reason for the transaction opening will be in
> - ``$HG_TXNNAME`` and a unique identifier for the transaction will be in
> - ``HG_TXNID``. The rest of the available data will vary according the
> - transaction type. New changesets will add ``$HG_NODE`` (id of the
> - first added changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables,
> - bookmarks and phases changes will set ``HG_BOOKMARK_MOVED`` and
> - ``HG_PHASES_MOVED`` to ``1``, etc.
> + Run right before the transaction is actually finalized. Any repository change
> + will be visible to the hook program. This lets you validate the transaction
> + content or change it. Exit status 0 allows the commit to proceed. Non-zero
> + status will cause the transaction to be rolled back. The reason for the
> + transaction opening will be in ``$HG_TXNNAME`` and a unique identifier for
> + the transaction will be in ``HG_TXNID``. The rest of the available data will
> + vary according the transaction type. New changesets will add ``$HG_NODE`` (id
> + of the first added changeset), ``$HG_NODE_LAST`` (id of the last added
> + changeset), ``$HG_URL`` and ``$HG_SOURCE`` variables, bookmarks and phases
> + changes will set ``HG_BOOKMARK_MOVED`` and ``HG_PHASES_MOVED`` to ``1``, etc.
>
> ``txnclose``
> Run after any repository transaction has been committed. At this
> @@ -869,14 +868,13 @@ variables it is passed are listed with n
> docs for details about available variables.
>
> ``pretxnchangegroup``
> - Run after a changegroup has been added via push, pull or unbundle,
> - but before the transaction has been committed. Changegroup is
> - visible to hook program. This lets you validate incoming changes
> - before accepting them. Passed the ID of the first new changeset in
> - ``$HG_NODE``. Exit status 0 allows the transaction to commit. Non-zero
> - status will cause the transaction to be rolled back and the push,
> - pull or unbundle will fail. URL that was source of changes is in
> - ``$HG_URL``.
> + Run after a changegroup has been added via push, pull or unbundle, but before
> + the transaction has been committed. Changegroup is visible to hook program.
> + This lets you validate incoming changes before accepting them. Passed the ID
> + of the first new changeset in ``$HG_NODE`` and last in ``$HG_NODE_LAST``.
> + Exit status 0 allows the transaction to commit. Non-zero status will cause
> + the transaction to be rolled back and the push, pull or unbundle will fail.
> + URL that was source of changes is in ``$HG_URL``.
>
> ``pretxncommit``
> Run after a changeset has been created but the transaction not yet
> diff --git a/tests/test-bundle.t b/tests/test-bundle.t
> --- a/tests/test-bundle.t
> +++ b/tests/test-bundle.t
> @@ -230,7 +230,7 @@ hg -R bundle://../full.hg verify
> adding manifests
> adding file changes
> added 9 changesets with 7 changes to 4 files (+1 heads)
> - changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=bundle:../full.hg (glob)
> + changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=bundle:../full.hg (glob)
> (run 'hg heads' to see heads, 'hg merge' to merge)
>
> Rollback empty
> @@ -253,7 +253,7 @@ Pull full.hg into empty again (using -R;
> adding manifests
> adding file changes
> added 9 changesets with 7 changes to 4 files (+1 heads)
> - changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=bundle:empty+full.hg (glob)
> + changegroup hook: HG_NODE=f9ee2f85a263049e9ae6d37a0e67e96194ffb735 HG_NODE_LAST=aa35859c02ea8bd48da5da68cd2740ac71afcbaf HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=bundle:empty+full.hg (glob)
> (run 'hg heads' to see heads, 'hg merge' to merge)
>
> Cannot produce streaming clone bundles with "hg bundle"
> diff --git a/tests/test-bundle2-exchange.t b/tests/test-bundle2-exchange.t
> --- a/tests/test-bundle2-exchange.t
> +++ b/tests/test-bundle2-exchange.t
> @@ -51,7 +51,7 @@ The extension requires a repo (currently
> added 8 changesets with 7 changes to 7 files (+3 heads)
> pre-close-tip:02de42196ebe draft
> postclose-tip:02de42196ebe draft
> - txnclose hook: HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_PHASES_MOVED=1 HG_SOURCE=unbundle HG_TXNID=TXN:* HG_TXNNAME=unbundle (glob)
> + txnclose hook: HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_NODE_LAST=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=unbundle HG_TXNID=TXN:* HG_TXNNAME=unbundle (glob)
> bundle:*/tests/bundles/rebase.hg HG_URL=bundle:*/tests/bundles/rebase.hg (glob)
> (run 'hg heads' to see heads, 'hg merge' to merge)
>
> @@ -85,7 +85,7 @@ clone --pull
> 1 new obsolescence markers
> pre-close-tip:9520eea781bc draft
> postclose-tip:9520eea781bc draft
> - txnclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> + txnclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_NODE_LAST=9520eea781bcca16c1e15acc0ba14335a0e8e5ba HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
> updating to branch default
> 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
> @@ -113,7 +113,7 @@ pull
> 1 new obsolescence markers
> pre-close-tip:24b6387c8c8c draft
> postclose-tip:24b6387c8c8c draft
> - txnclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> + txnclose hook: HG_NEW_OBSMARKERS=1 HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_NODE_LAST=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> file:/*/$TESTTMP/main HG_URL=file:$TESTTMP/main (glob)
> (run 'hg heads' to see heads, 'hg merge' to merge)
> $ hg -R other log -G
> @@ -257,7 +257,7 @@ push
> remote: lock: free
> remote: wlock: free
> remote: postclose-tip:eea13746799a public book_eea1
> - remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=eea13746799a9e0bfd88f29d3c2e9dc9389f524f HG_PHASES_MOVED=1 HG_SOURCE=push HG_TXNID=TXN:* HG_TXNNAME=push HG_URL=push (glob)
> + remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=eea13746799a9e0bfd88f29d3c2e9dc9389f524f HG_NODE_LAST=eea13746799a9e0bfd88f29d3c2e9dc9389f524f HG_PHASES_MOVED=1 HG_SOURCE=push HG_TXNID=TXN:* HG_TXNNAME=push HG_URL=push (glob)
> updating bookmark book_eea1
> pre-close-tip:02de42196ebe draft book_02de
> postclose-tip:02de42196ebe draft book_02de
> @@ -290,7 +290,7 @@ pull over ssh
> updating bookmark book_02de
> pre-close-tip:02de42196ebe draft book_02de
> postclose-tip:02de42196ebe draft book_02de
> - txnclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> + txnclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_NODE_LAST=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> ssh://user@dummy/main HG_URL=ssh://user@dummy/main
> (run 'hg heads' to see heads, 'hg merge' to merge)
> $ hg -R other debugobsolete
> @@ -315,7 +315,7 @@ pull over http
> updating bookmark book_42cc
> pre-close-tip:42ccdea3bb16 draft book_42cc
> postclose-tip:42ccdea3bb16 draft book_42cc
> - txnclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> + txnclose hook: HG_BOOKMARK_MOVED=1 HG_NEW_OBSMARKERS=1 HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_NODE_LAST=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_TXNNAME=pull (glob)
> http://localhost:$HGPORT/ HG_URL=http://localhost:$HGPORT/
> (run 'hg heads .' to see heads, 'hg merge' to merge)
> $ cat main-error.log
> @@ -341,7 +341,7 @@ push over ssh
> remote: lock: free
> remote: wlock: free
> remote: postclose-tip:5fddd98957c8 draft book_5fdd
> - remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=5fddd98957c8a54a4d436dfe1da9d87f21a1b97b HG_SOURCE=serve HG_TXNID=TXN:* HG_TXNNAME=serve HG_URL=remote:ssh:127.0.0.1 (glob)
> + remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=5fddd98957c8a54a4d436dfe1da9d87f21a1b97b HG_NODE_LAST=5fddd98957c8a54a4d436dfe1da9d87f21a1b97b HG_SOURCE=serve HG_TXNID=TXN:* HG_TXNNAME=serve HG_URL=remote:ssh:127.0.0.1 (glob)
> updating bookmark book_5fdd
> pre-close-tip:02de42196ebe draft book_02de
> postclose-tip:02de42196ebe draft book_02de
> @@ -395,7 +395,7 @@ push over http
> remote: lock: free
> remote: wlock: free
> remote: postclose-tip:32af7686d403 public book_32af
> - remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=32af7686d403cf45b5d95f2d70cebea587ac806a HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_TXNNAME=serve HG_URL=remote:http:127.0.0.1: (glob)
> + remote: txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_NEW_OBSMARKERS=1 HG_NODE=32af7686d403cf45b5d95f2d70cebea587ac806a HG_NODE_LAST=32af7686d403cf45b5d95f2d70cebea587ac806a HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_TXNNAME=serve HG_URL=remote:http:127.0.0.1: (glob)
> updating bookmark book_32af
> pre-close-tip:02de42196ebe draft book_02de
> postclose-tip:02de42196ebe draft book_02de
> diff --git a/tests/test-bundle2-multiple-changegroups.t b/tests/test-bundle2-multiple-changegroups.t
> --- a/tests/test-bundle2-multiple-changegroups.t
> +++ b/tests/test-bundle2-multiple-changegroups.t
> @@ -82,16 +82,16 @@ Pull the new commits in the clone
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> - pretxnchangegroup hook: HG_NODE=27547f69f25460a52fff66ad004e58da7ad3fb56 HG_PENDING=$TESTTMP/clone HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + pretxnchangegroup hook: HG_NODE=27547f69f25460a52fff66ad004e58da7ad3fb56 HG_NODE_LAST=27547f69f25460a52fff66ad004e58da7ad3fb56 HG_PENDING=$TESTTMP/clone HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> remote: changegroup2
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> - pretxnchangegroup hook: HG_NODE=f838bfaca5c7226600ebcfd84f3c3c13a28d3757 HG_PENDING=$TESTTMP/clone HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> - changegroup hook: HG_NODE=27547f69f25460a52fff66ad004e58da7ad3fb56 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + pretxnchangegroup hook: HG_NODE=f838bfaca5c7226600ebcfd84f3c3c13a28d3757 HG_NODE_LAST=f838bfaca5c7226600ebcfd84f3c3c13a28d3757 HG_PENDING=$TESTTMP/clone HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + changegroup hook: HG_NODE=27547f69f25460a52fff66ad004e58da7ad3fb56 HG_NODE_LAST=27547f69f25460a52fff66ad004e58da7ad3fb56 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=27547f69f25460a52fff66ad004e58da7ad3fb56 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> - changegroup hook: HG_NODE=f838bfaca5c7226600ebcfd84f3c3c13a28d3757 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + changegroup hook: HG_NODE=f838bfaca5c7226600ebcfd84f3c3c13a28d3757 HG_NODE_LAST=f838bfaca5c7226600ebcfd84f3c3c13a28d3757 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=f838bfaca5c7226600ebcfd84f3c3c13a28d3757 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> pullop.cgresult is 1
> (run 'hg update' to get a working copy)
> @@ -152,17 +152,17 @@ pullop.cgresult
> adding manifests
> adding file changes
> added 2 changesets with 2 changes to 2 files (+1 heads)
> - pretxnchangegroup hook: HG_NODE=b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e HG_PENDING=$TESTTMP/clone HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + pretxnchangegroup hook: HG_NODE=b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e HG_NODE_LAST=8a5212ebc8527f9fb821601504794e3eb11a1ed3 HG_PENDING=$TESTTMP/clone HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> remote: changegroup2
> adding changesets
> adding manifests
> adding file changes
> added 3 changesets with 3 changes to 3 files (+1 heads)
> - pretxnchangegroup hook: HG_NODE=7f219660301fe4c8a116f714df5e769695cc2b46 HG_PENDING=$TESTTMP/clone HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> - changegroup hook: HG_NODE=b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + pretxnchangegroup hook: HG_NODE=7f219660301fe4c8a116f714df5e769695cc2b46 HG_NODE_LAST=5cd59d311f6508b8e0ed28a266756c859419c9f1 HG_PENDING=$TESTTMP/clone HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + changegroup hook: HG_NODE=b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e HG_NODE_LAST=8a5212ebc8527f9fb821601504794e3eb11a1ed3 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=b3325c91a4d916bcc4cdc83ea3fe4ece46a42f6e HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=8a5212ebc8527f9fb821601504794e3eb11a1ed3 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> - changegroup hook: HG_NODE=7f219660301fe4c8a116f714df5e769695cc2b46 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + changegroup hook: HG_NODE=7f219660301fe4c8a116f714df5e769695cc2b46 HG_NODE_LAST=5cd59d311f6508b8e0ed28a266756c859419c9f1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=7f219660301fe4c8a116f714df5e769695cc2b46 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=1d14c3ce6ac0582d2809220d33e8cd7a696e0156 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=5cd59d311f6508b8e0ed28a266756c859419c9f1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> @@ -225,16 +225,16 @@ pullop.cgresult
> adding manifests
> adding file changes
> added 1 changesets with 0 changes to 0 files (-1 heads)
> - pretxnchangegroup hook: HG_NODE=71bd7b46de72e69a32455bf88d04757d542e6cf4 HG_PENDING=$TESTTMP/clone HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + pretxnchangegroup hook: HG_NODE=71bd7b46de72e69a32455bf88d04757d542e6cf4 HG_NODE_LAST=71bd7b46de72e69a32455bf88d04757d542e6cf4 HG_PENDING=$TESTTMP/clone HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> remote: changegroup2
> adding changesets
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> - pretxnchangegroup hook: HG_NODE=9d18e5bd9ab09337802595d49f1dad0c98df4d84 HG_PENDING=$TESTTMP/clone HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> - changegroup hook: HG_NODE=71bd7b46de72e69a32455bf88d04757d542e6cf4 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + pretxnchangegroup hook: HG_NODE=9d18e5bd9ab09337802595d49f1dad0c98df4d84 HG_NODE_LAST=9d18e5bd9ab09337802595d49f1dad0c98df4d84 HG_PENDING=$TESTTMP/clone HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + changegroup hook: HG_NODE=71bd7b46de72e69a32455bf88d04757d542e6cf4 HG_NODE_LAST=71bd7b46de72e69a32455bf88d04757d542e6cf4 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=71bd7b46de72e69a32455bf88d04757d542e6cf4 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> - changegroup hook: HG_NODE=9d18e5bd9ab09337802595d49f1dad0c98df4d84 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> + changegroup hook: HG_NODE=9d18e5bd9ab09337802595d49f1dad0c98df4d84 HG_NODE_LAST=9d18e5bd9ab09337802595d49f1dad0c98df4d84 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> incoming hook: HG_NODE=9d18e5bd9ab09337802595d49f1dad0c98df4d84 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/repo (glob)
> pullop.cgresult is -2
> (run 'hg update' to get a working copy)
> diff --git a/tests/test-hook.t b/tests/test-hook.t
> --- a/tests/test-hook.t
> +++ b/tests/test-hook.t
> @@ -118,7 +118,7 @@ test generic hooks
> adding manifests
> adding file changes
> added 3 changesets with 2 changes to 2 files
> - changegroup hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
> + changegroup hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_NODE_LAST=07f3376c1e655977439df2a814e3cc14b27abac2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
> incoming hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
> incoming hook: HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
> incoming hook: HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
> @@ -326,7 +326,7 @@ incoming changes no longer there after
> adding file changes
> added 1 changesets with 1 changes to 1 files
> 4:539e4b31b6dc
> - pretxnchangegroup.forbid hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PENDING=$TESTTMP/b HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
> + 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)
> transaction abort!
> rollback completed
> abort: pretxnchangegroup.forbid1 hook exited with status 1
> diff --git a/tests/test-http-bundle1.t b/tests/test-http-bundle1.t
> --- a/tests/test-http-bundle1.t
> +++ b/tests/test-http-bundle1.t
> @@ -136,7 +136,7 @@ pull
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> - changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=http://localhost:$HGPORT1/ (glob)
> + changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=http://localhost:$HGPORT1/ (glob)
> (run 'hg update' to get a working copy)
> $ cd ..
>
> diff --git a/tests/test-http.t b/tests/test-http.t
> --- a/tests/test-http.t
> +++ b/tests/test-http.t
> @@ -127,7 +127,7 @@ pull
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> - changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=http://localhost:$HGPORT1/ (glob)
> + changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=http://localhost:$HGPORT1/ (glob)
> (run 'hg update' to get a working copy)
> $ cd ..
>
> diff --git a/tests/test-https.t b/tests/test-https.t
> --- a/tests/test-https.t
> +++ b/tests/test-https.t
> @@ -210,7 +210,7 @@ pull without cacert
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> - changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=https://localhost:$HGPORT/ (glob)
> + changegroup hook: HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=https://localhost:$HGPORT/ (glob)
> (run 'hg update' to get a working copy)
> $ cd ..
>
> diff --git a/tests/test-push-http-bundle1.t b/tests/test-push-http-bundle1.t
> --- a/tests/test-push-http-bundle1.t
> +++ b/tests/test-push-http-bundle1.t
> @@ -77,7 +77,7 @@ expect success
> remote: adding manifests
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> - remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> % serve errors
> $ hg rollback
> repository tip rolled back to revision 0 (undo serve)
> @@ -93,7 +93,7 @@ expect success, server lacks the httphea
> remote: adding manifests
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> - remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> % serve errors
> $ hg rollback
> repository tip rolled back to revision 0 (undo serve)
> @@ -109,7 +109,7 @@ expect success, server lacks the unbundl
> remote: adding manifests
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> - remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: changegroup hook: HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> % serve errors
> $ hg rollback
> repository tip rolled back to revision 0 (undo serve)
> diff --git a/tests/test-push-http.t b/tests/test-push-http.t
> --- a/tests/test-push-http.t
> +++ b/tests/test-push-http.t
> @@ -68,7 +68,7 @@ expect success
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> remote: pushkey hook: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_OLD=1 HG_RET=1
> - remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> % serve errors
> $ hg rollback
> repository tip rolled back to revision 0 (undo serve)
> @@ -85,7 +85,7 @@ expect success, server lacks the httphea
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> remote: pushkey hook: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_OLD=1 HG_RET=1
> - remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> % serve errors
> $ hg rollback
> repository tip rolled back to revision 0 (undo serve)
> @@ -102,7 +102,7 @@ expect success, server lacks the unbundl
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> remote: pushkey hook: HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_OLD=1 HG_RET=1
> - remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: changegroup hook: HG_BUNDLE2=1 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> % serve errors
> $ hg rollback
> repository tip rolled back to revision 0 (undo serve)
> @@ -123,7 +123,7 @@ expect push success, phase change failur
> remote: adding manifests
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> - remote: prepushkey hook: HG_BUNDLE2=1 HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_OLD=1 HG_PENDING=$TESTTMP/test HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: prepushkey hook: HG_BUNDLE2=1 HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_OLD=1 HG_PENDING=$TESTTMP/test HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> remote: pushkey-abort: prepushkey hook exited with status 1
> remote: transaction abort!
> remote: rollback completed
> @@ -141,7 +141,7 @@ expect phase change success
> remote: adding manifests
> remote: adding file changes
> remote: added 1 changesets with 1 changes to 1 files
> - remote: prepushkey hook: HG_BUNDLE2=1 HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_OLD=1 HG_PENDING=$TESTTMP/test HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> + remote: prepushkey hook: HG_BUNDLE2=1 HG_KEY=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NAMESPACE=phases HG_NEW=0 HG_NODE=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_NODE_LAST=ba677d0156c1196c1a699fa53f390dcfc3ce3872 HG_OLD=1 HG_PENDING=$TESTTMP/test HG_PHASES_MOVED=1 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:http:127.0.0.1: (glob)
> % serve errors
> $ hg rollback
> repository tip rolled back to revision 0 (undo serve)
> diff --git a/tests/test-ssh-bundle1.t b/tests/test-ssh-bundle1.t
> --- a/tests/test-ssh-bundle1.t
> +++ b/tests/test-ssh-bundle1.t
> @@ -492,7 +492,7 @@ debug output
> Got arguments 1:user at dummy 2:hg -R local serve --stdio
> Got arguments 1:user at dummy 2:hg -R $TESTTMP/local serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> - changegroup-in-remote hook: HG_NODE=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> + changegroup-in-remote hook: HG_NODE=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_NODE_LAST=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> @@ -502,7 +502,7 @@ debug output
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> - changegroup-in-remote hook: HG_NODE=1383141674ec756a6056f6a9097618482fe0f4a6 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> + changegroup-in-remote hook: HG_NODE=1383141674ec756a6056f6a9097618482fe0f4a6 HG_NODE_LAST=1383141674ec756a6056f6a9097618482fe0f4a6 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg init 'a repo'
> Got arguments 1:user at dummy 2:hg -R 'a repo' serve --stdio
> @@ -510,7 +510,7 @@ debug output
> Got arguments 1:user at dummy 2:hg -R 'a repo' serve --stdio
> Got arguments 1:user at dummy 2:hg -R 'a repo' serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> - changegroup-in-remote hook: HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> + changegroup-in-remote hook: HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_NODE_LAST=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
>
> remote hook failure is attributed to remote
> diff --git a/tests/test-ssh.t b/tests/test-ssh.t
> --- a/tests/test-ssh.t
> +++ b/tests/test-ssh.t
> @@ -487,7 +487,7 @@ debug output
> Got arguments 1:user at dummy 2:hg -R local serve --stdio
> Got arguments 1:user at dummy 2:hg -R $TESTTMP/local serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> - changegroup-in-remote hook: HG_BUNDLE2=1 HG_NODE=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> + changegroup-in-remote hook: HG_BUNDLE2=1 HG_NODE=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_NODE_LAST=a28a9d1a809cab7d4e2fde4bee738a9ede948b60 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> @@ -497,7 +497,7 @@ debug output
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> - changegroup-in-remote hook: HG_BUNDLE2=1 HG_NODE=1383141674ec756a6056f6a9097618482fe0f4a6 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> + changegroup-in-remote hook: HG_BUNDLE2=1 HG_NODE=1383141674ec756a6056f6a9097618482fe0f4a6 HG_NODE_LAST=1383141674ec756a6056f6a9097618482fe0f4a6 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> Got arguments 1:user at dummy 2:hg init 'a repo'
> Got arguments 1:user at dummy 2:hg -R 'a repo' serve --stdio
> @@ -505,7 +505,7 @@ debug output
> Got arguments 1:user at dummy 2:hg -R 'a repo' serve --stdio
> Got arguments 1:user at dummy 2:hg -R 'a repo' serve --stdio
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
> - changegroup-in-remote hook: HG_BUNDLE2=1 HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> + changegroup-in-remote hook: HG_BUNDLE2=1 HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_NODE_LAST=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_TXNID=TXN:* HG_URL=remote:ssh:127.0.0.1 (glob)
> Got arguments 1:user at dummy 2:hg -R remote serve --stdio
>
> remote hook failure is attributed to remote
> diff --git a/tests/test-static-http.t b/tests/test-static-http.t
> --- a/tests/test-static-http.t
> +++ b/tests/test-static-http.t
> @@ -68,7 +68,7 @@ check for HTTP opener failures when cach
> adding manifests
> adding file changes
> added 1 changesets with 1 changes to 1 files
> - changegroup hook: HG_NODE=4ac2e3648604439c580c69b09ec9d93a88d93432 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=http://localhost:$HGPORT/remote (glob)
> + changegroup hook: HG_NODE=4ac2e3648604439c580c69b09ec9d93a88d93432 HG_NODE_LAST=4ac2e3648604439c580c69b09ec9d93a88d93432 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=http://localhost:$HGPORT/remote (glob)
> (run 'hg update' to get a working copy)
>
> trying to push
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list