diff --git a/hgext3rd/pushrebase.py b/hgext3rd/pushrebase.py --- a/hgext3rd/pushrebase.py +++ b/hgext3rd/pushrebase.py @@ -930,8 +930,8 @@ return 1 def prepushrebasehooks(op, params, bundle, bundlefile): - prelockonto = resolveonto(op.repo, - params.get('onto', donotrebasemarker)) + onto = params.get('onto') + prelockonto = resolveonto(op.repo, onto or donotrebasemarker) prelockontonode = prelockonto.hex() if prelockonto else None # Allow running hooks on the new commits before we take the lock @@ -941,6 +941,8 @@ prelockrebaseargs['node'] = scmutil.revsingle(bundle, 'min(bundle())').hex() prelockrebaseargs['node_onto'] = prelockontonode + if onto: + prelockrebaseargs['onto'] = onto prelockrebaseargs['hook_bundlepath'] = bundlefile for path in op.records[treepackrecords]: diff --git a/tests/test-pushrebase.t b/tests/test-pushrebase.t --- a/tests/test-pushrebase.t +++ b/tests/test-pushrebase.t @@ -615,7 +615,7 @@ $ hg push --to master -B master pushing to $TESTTMP/hookserver (glob) searching for changes - prepushrebase hook: HG_BUNDLE2=1 HG_HOOKNAME=prepushrebase HG_HOOKTYPE=prepushrebase HG_HOOK_BUNDLEPATH=* HG_NODE=4fcee35c508c1019667f72cae9b843efa8908701 HG_NODE_ONTO=e95be919ac60f0c114075e32a0a4301afabadb60 HG_SOURCE=push (glob) + prepushrebase hook: HG_BUNDLE2=1 HG_HOOKNAME=prepushrebase HG_HOOKTYPE=prepushrebase HG_HOOK_BUNDLEPATH=* HG_NODE=4fcee35c508c1019667f72cae9b843efa8908701 HG_NODE_ONTO=e95be919ac60f0c114075e32a0a4301afabadb60 HG_ONTO=master HG_SOURCE=push (glob) prechangegroup hook: HG_BUNDLE2=1 HG_HOOKNAME=prechangegroup HG_HOOKTYPE=prechangegroup HG_SOURCE=push HG_TXNID=TXN:* HG_URL=file:$TESTTMP/hookserver (glob) pushing 3 changesets: 4fcee35c508c first