hooks: back 9f272bf3b342 out
Changeset 9f272bf3b342 alters the 'HG_PENDING' mechanism to be "always" there.
This change is made under the assumption than we previously did it only when
"writepending() actually wrote something". This assumption was wrong,
'writepending()' informs of pending changes the first time something is written
and for all following calls. We back this change out to restore the former
behavior, which was already correct.
--- a/mercurial/hook.py Tue Nov 03 17:13:27 2015 -0800
+++ b/mercurial/hook.py Fri Nov 06 11:08:11 2015 -0500
@@ -122,8 +122,7 @@
# make in-memory changes visible to external process
tr = repo.currenttransaction()
repo.dirstate.write(tr)
- if tr:
- tr.writepending()
+ if tr and tr.writepending():
env['HG_PENDING'] = repo.root
for k, v in args.iteritems():
--- a/tests/test-hook.t Tue Nov 03 17:13:27 2015 -0800
+++ b/tests/test-hook.t Fri Nov 06 11:08:11 2015 -0500
@@ -113,7 +113,7 @@
$ hg pull ../a
pulling from ../a
searching for changes
- prechangegroup hook: HG_PENDING=$TESTTMP/b HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
+ prechangegroup hook: HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
adding changesets
adding manifests
adding file changes
@@ -272,7 +272,7 @@
listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
no changes found
pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=push (glob)
- prepushkey.forbid hook: HG_BUNDLE2=1 HG_KEY=baz HG_NAMESPACE=bookmarks HG_NEW=0000000000000000000000000000000000000000 HG_PENDING=$TESTTMP/a HG_SOURCE=push HG_TXNID=TXN:* HG_URL=push (glob)
+ prepushkey.forbid hook: HG_BUNDLE2=1 HG_KEY=baz HG_NAMESPACE=bookmarks HG_NEW=0000000000000000000000000000000000000000 HG_SOURCE=push HG_TXNID=TXN:* HG_URL=push (glob)
pushkey-abort: prepushkey hook exited with status 1
abort: exporting bookmark baz failed!
[255]
@@ -306,7 +306,7 @@
$ hg pull ../a
pulling from ../a
searching for changes
- prechangegroup.forbid hook: HG_PENDING=$TESTTMP/b HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
+ prechangegroup.forbid hook: HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
abort: prechangegroup.forbid hook exited with status 1
[255]