diff --git a/mercurial/hook.py b/mercurial/hook.py
index e5a1df51bb2572ee642bba2261cc479ce6a96ed5_bWVyY3VyaWFsL2hvb2sucHk=..9f272bf3b34251a463007f60d27292113fcd1d8d_bWVyY3VyaWFsL2hvb2sucHk= 100644
--- a/mercurial/hook.py
+++ b/mercurial/hook.py
@@ -122,7 +122,8 @@
     # make in-memory changes visible to external process
     tr = repo.currenttransaction()
     repo.dirstate.write(tr)
-    if tr and tr.writepending():
+    if tr:
+        tr.writepending()
         env['HG_PENDING'] = repo.root
 
     for k, v in args.iteritems():
diff --git a/tests/test-hook.t b/tests/test-hook.t
index e5a1df51bb2572ee642bba2261cc479ce6a96ed5_dGVzdHMvdGVzdC1ob29rLnQ=..9f272bf3b34251a463007f60d27292113fcd1d8d_dGVzdHMvdGVzdC1ob29rLnQ= 100644
--- a/tests/test-hook.t
+++ b/tests/test-hook.t
@@ -113,7 +113,7 @@
   $ hg pull ../a
   pulling from ../a
   searching for changes
-  prechangegroup hook: HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
+  prechangegroup hook: HG_PENDING=$TESTTMP/b 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_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_PENDING=$TESTTMP/a 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_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
+  prechangegroup.forbid hook: HG_PENDING=$TESTTMP/b HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
   abort: prechangegroup.forbid hook exited with status 1
   [255]