##// END OF EJS Templates
hgweb: generate last change date for an empty atom-bookmarks feed (issue5022)...
hgweb: generate last change date for an empty atom-bookmarks feed (issue5022) RFC 4287 states that atom feeds must have an <updated> element, so let's add one even when repo doesn't have a single bookmark.

File last commit:

r28444:12fdf49f default
r28712:80e92247 default
Show More
test-hook.t
818 lines | 27.9 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 commit hooks can see env vars
Pierre-Yves David
afterlock: add the callback to the top level lock (issue4608)...
r24821 (and post-transaction one are run unlocked)
Nicolas Dumazet
tests: unify test-hook
r11793
Pierre-Yves David
tests: use bundle2 for test-hook...
r25370 $ cat << EOF >> $HGRCPATH
> [experimental]
> # drop me once bundle2 is the default,
> # added to get test change early.
> bundle2-exp = True
> EOF
FUJIWARA Katsunori
localrepo: rename hook argument from TXNID to txnid (BC)...
r25218 $ cat > $TESTTMP/txnabort.checkargs.py <<EOF
> def showargs(ui, repo, hooktype, **kwargs):
> ui.write('%s python hook: %s\n' % (hooktype, ','.join(sorted(kwargs))))
> EOF
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg init a
$ cd a
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ cat > .hg/hgrc <<EOF
> [hooks]
Matt Mackall
tests: simplify printenv calls...
r25478 > commit = sh -c "HG_LOCAL= HG_TAG= printenv.py commit"
> commit.b = sh -c "HG_LOCAL= HG_TAG= printenv.py commit.b"
> precommit = sh -c "HG_LOCAL= HG_NODE= HG_TAG= printenv.py precommit"
> pretxncommit = sh -c "HG_LOCAL= HG_TAG= printenv.py pretxncommit"
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > pretxncommit.tip = hg -q tip
Matt Mackall
tests: simplify printenv calls...
r25478 > pre-identify = printenv.py pre-identify 1
> pre-cat = printenv.py pre-cat
> post-cat = printenv.py post-cat
> pretxnopen = sh -c "HG_LOCAL= HG_TAG= printenv.py pretxnopen"
> pretxnclose = sh -c "HG_LOCAL= HG_TAG= printenv.py pretxnclose"
> txnclose = sh -c "HG_LOCAL= HG_TAG= printenv.py txnclose"
FUJIWARA Katsunori
localrepo: rename hook argument from TXNID to txnid (BC)...
r25218 > txnabort.0 = python:$TESTTMP/txnabort.checkargs.py:showargs
Matt Mackall
tests: simplify printenv calls...
r25478 > txnabort.1 = sh -c "HG_LOCAL= HG_TAG= printenv.py txnabort"
Matt Harbison
test-hook.t: don't directly use redirect to /dev/null in hook for Windows...
r24827 > txnclose.checklock = sh -c "hg debuglock > /dev/null"
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > EOF
Nicolas Dumazet
tests: unify test-hook
r11793 $ echo a > a
$ hg add a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m a
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 precommit hook: HG_PARENT1=0000000000000000000000000000000000000000
FUJIWARA Katsunori
localrepo: pass hook argument txnid to pretxnopen hooks...
r25268 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretxncommit hook: HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b HG_PARENT1=0000000000000000000000000000000000000000 HG_PENDING=$TESTTMP/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 0:cb9a9f314b8b
FUJIWARA Katsunori
localrepo: use correct argument name for pretxnclose hooks (BC)...
r25219 pretxnclose hook: HG_PENDING=$TESTTMP/a HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Pierre-Yves David
transaction: introduce a transaction ID, to be available to all hooks...
r24740 txnclose hook: HG_PHASES_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 commit hook: HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b HG_PARENT1=0000000000000000000000000000000000000000
commit.b hook: HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b HG_PARENT1=0000000000000000000000000000000000000000
Nicolas Dumazet
tests: unify test-hook
r11793
$ hg clone . ../b
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../b
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 changegroup hooks can see env vars
Nicolas Dumazet
tests: unify test-hook
r11793
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ cat > .hg/hgrc <<EOF
> [hooks]
Matt Mackall
tests: simplify printenv calls...
r25478 > prechangegroup = printenv.py prechangegroup
> changegroup = printenv.py changegroup
> incoming = printenv.py incoming
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > EOF
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 pretxncommit and commit hooks can see both parents of merge
Nicolas Dumazet
tests: unify test-hook
r11793
$ cd ../a
$ echo b >> a
$ hg commit -m a1 -d "1 0"
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 precommit hook: HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
FUJIWARA Katsunori
localrepo: pass hook argument txnid to pretxnopen hooks...
r25268 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretxncommit hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b HG_PENDING=$TESTTMP/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 1:ab228980c14d
FUJIWARA Katsunori
localrepo: use correct argument name for pretxnclose hooks (BC)...
r25219 pretxnclose hook: HG_PENDING=$TESTTMP/a HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Pierre-Yves David
transaction: introduce a transaction ID, to be available to all hooks...
r24740 txnclose hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 commit hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
commit.b hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg update -C 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo b > b
$ hg add b
$ hg commit -m b -d '1 0'
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 precommit hook: HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
FUJIWARA Katsunori
localrepo: pass hook argument txnid to pretxnopen hooks...
r25268 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretxncommit hook: HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b HG_PENDING=$TESTTMP/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 2:ee9deb46ab31
FUJIWARA Katsunori
localrepo: use correct argument name for pretxnclose hooks (BC)...
r25219 pretxnclose hook: HG_PENDING=$TESTTMP/a HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
FUJIWARA Katsunori
commands: make commit acquire locks before processing (issue4368)...
r27192 created new head
Pierre-Yves David
transaction: introduce a transaction ID, to be available to all hooks...
r24740 txnclose hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 commit hook: HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
commit.b hook: HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg merge 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -m merge -d '2 0'
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 precommit hook: HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
FUJIWARA Katsunori
localrepo: pass hook argument txnid to pretxnopen hooks...
r25268 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretxncommit hook: HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd HG_PENDING=$TESTTMP/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 3:07f3376c1e65
FUJIWARA Katsunori
localrepo: use correct argument name for pretxnclose hooks (BC)...
r25219 pretxnclose hook: HG_PENDING=$TESTTMP/a HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Pierre-Yves David
transaction: introduce a transaction ID, to be available to all hooks...
r24740 txnclose hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 commit hook: HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
commit.b hook: HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2 HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 test generic hooks
Nicolas Dumazet
tests: unify test-hook
r11793
$ hg id
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pre-identify hook: HG_ARGS=id HG_OPTS={'bookmarks': None, 'branch': None, 'id': None, 'insecure': None, 'num': None, 'remotecmd': '', 'rev': '', 'ssh': '', 'tags': None} HG_PATS=[]
Siddharth Agarwal
dispatch: print 'abort:' when a pre-command hook fails (BC)...
r19011 abort: pre-identify hook exited with status 1
[255]
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg cat b
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pre-cat hook: HG_ARGS=cat b HG_OPTS={'decode': None, 'exclude': [], 'include': [], 'output': '', 'rev': ''} HG_PATS=['b']
Dan Villiom Podlaski Christiansen
make_file: always return a fresh file handle that can be closed...
r13121 b
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 post-cat hook: HG_ARGS=cat b HG_OPTS={'decode': None, 'exclude': [], 'include': [], 'output': '', 'rev': ''} HG_PATS=['b'] HG_RESULT=0
Nicolas Dumazet
tests: unify test-hook
r11793
$ cd ../b
$ hg pull ../a
Mads Kiilerich
util: flush stdout before calling external processes...
r13439 pulling from ../a
searching for changes
Pierre-Yves David
hooks: back 9f272bf3b342 out...
r26861 prechangegroup hook: HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
Mads Kiilerich
util: flush stdout before calling external processes...
r13439 adding changesets
adding manifests
adding file changes
added 3 changesets with 2 changes to 2 files
Mateusz Kwapich
hooks: add HG_NODE_LAST to txnclose and changegroup hook environments...
r27739 changegroup hook: HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd HG_NODE_LAST=07f3376c1e655977439df2a814e3cc14b27abac2 HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
Pierre-Yves David
transaction: introduce a transaction ID, to be available to all hooks...
r24740 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)
Nicolas Dumazet
tests: unify test-hook
r11793 (run 'hg update' to get a working copy)
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 tag hooks can see env vars
Nicolas Dumazet
tests: unify test-hook
r11793
$ cd ../a
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ cat >> .hg/hgrc <<EOF
Matt Mackall
tests: simplify printenv calls...
r25478 > pretag = printenv.py pretag
> tag = sh -c "HG_PARENT1= HG_PARENT2= printenv.py tag"
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > EOF
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg tag -d '3 0' a
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretag hook: HG_LOCAL=0 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_TAG=a
precommit hook: HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
FUJIWARA Katsunori
localrepo: pass hook argument txnid to pretxnopen hooks...
r25268 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretxncommit hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2 HG_PENDING=$TESTTMP/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 4:539e4b31b6dc
FUJIWARA Katsunori
localrepo: use correct argument name for pretxnclose hooks (BC)...
r25219 pretxnclose hook: HG_PENDING=$TESTTMP/a HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 tag hook: HG_LOCAL=0 HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2 HG_TAG=a
Pierre-Yves David
transaction: introduce a transaction ID, to be available to all hooks...
r24740 txnclose hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 commit hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
commit.b hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg tag -l la
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=la
tag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=la
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 pretag hook can forbid tagging
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "pretag.forbid = printenv.py pretag.forbid 1" >> .hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg tag -d '4 0' fa
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretag hook: HG_LOCAL=0 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fa
pretag.forbid hook: HG_LOCAL=0 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fa
Nicolas Dumazet
tests: unify test-hook
r11793 abort: pretag.forbid hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg tag -l fla
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretag hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fla
pretag.forbid hook: HG_LOCAL=1 HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_TAG=fla
Nicolas Dumazet
tests: unify test-hook
r11793 abort: pretag.forbid hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 pretxncommit hook can see changeset, can roll back txn, changeset no
more there after
Nicolas Dumazet
tests: unify test-hook
r11793
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ echo "pretxncommit.forbid0 = hg tip -q" >> .hg/hgrc
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "pretxncommit.forbid1 = printenv.py pretxncommit.forbid 1" >> .hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ echo z > z
$ hg add z
$ hg -q tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 4:539e4b31b6dc
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg commit -m 'fail' -d '4 0'
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 precommit hook: HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
FUJIWARA Katsunori
localrepo: pass hook argument txnid to pretxnopen hooks...
r25268 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretxncommit hook: HG_NODE=6f611f8018c10e827fee6bd2bc807f937e761567 HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PENDING=$TESTTMP/a
Martin Geisler
tests: remove unneeded -d flags...
r12156 5:6f611f8018c1
5:6f611f8018c1
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 pretxncommit.forbid hook: HG_NODE=6f611f8018c10e827fee6bd2bc807f937e761567 HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_PENDING=$TESTTMP/a
Nicolas Dumazet
tests: unify test-hook
r11793 transaction abort!
FUJIWARA Katsunori
localrepo: rename hook argument from TXNID to txnid (BC)...
r25218 txnabort python hook: txnid,txnname
Pierre-Yves David
hooks: add a 'txnabort' hook...
r24792 txnabort hook: HG_TXNID=TXN:* HG_TXNNAME=commit (glob)
Nicolas Dumazet
tests: unify test-hook
r11793 rollback completed
abort: pretxncommit.forbid1 hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg -q tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 4:539e4b31b6dc
Nicolas Dumazet
tests: unify test-hook
r11793
Pierre-Yves David
changelog: register changelog.i.a as a temporary file...
r23292 (Check that no 'changelog.i.a' file were left behind)
$ ls -1 .hg/store/
00changelog.i
00manifest.i
data
fncache
journal.phaseroots
phaseroots
undo
Pierre-Yves David
transaction: include backup file in the "undo" transaction...
r23904 undo.backup.fncache
undo.backupfiles
Pierre-Yves David
changelog: register changelog.i.a as a temporary file...
r23292 undo.phaseroots
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 precommit hook can prevent commit
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "precommit.forbid = printenv.py precommit.forbid 1" >> .hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg commit -m 'fail' -d '4 0'
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 precommit hook: HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
precommit.forbid hook: HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
Nicolas Dumazet
tests: unify test-hook
r11793 abort: precommit.forbid hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg -q tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 4:539e4b31b6dc
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 preupdate hook can prevent update
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "preupdate = printenv.py preupdate" >> .hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg update 1
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 preupdate hook: HG_PARENT1=ab228980c14d
Nicolas Dumazet
tests: unify test-hook
r11793 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 update hook
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "update = printenv.py update" >> .hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg update
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 preupdate hook: HG_PARENT1=539e4b31b6dc
FUJIWARA Katsunori
merge: make in-memory changes visible to external update hooks...
r26752 update hook: HG_ERROR=0 HG_PARENT1=539e4b31b6dc
Pierre-Yves David
update: wlock the repo for the whole 'hg update' command...
r26028 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Nicolas Dumazet
tests: unify test-hook
r11793
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 pushkey hook
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "pushkey = printenv.py pushkey" >> .hg/hgrc
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ cd ../b
$ hg bookmark -r null foo
$ hg push -B foo ../a
pushing to ../a
searching for changes
no changes found
Pierre-Yves David
tests: use bundle2 for test-hook...
r25370 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=push (glob)
pretxnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_PENDING=$TESTTMP/a HG_SOURCE=push HG_TXNID=TXN:* HG_TXNNAME=push HG_URL=push (glob)
Pierre-Yves David
push: gather all bookmark decisions together...
r22651 pushkey hook: HG_KEY=foo HG_NAMESPACE=bookmarks HG_NEW=0000000000000000000000000000000000000000 HG_RET=1
Pierre-Yves David
tests: use bundle2 for test-hook...
r25370 txnclose hook: HG_BOOKMARK_MOVED=1 HG_BUNDLE2=1 HG_SOURCE=push HG_TXNID=TXN:* HG_TXNNAME=push HG_URL=push (glob)
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 exporting bookmark foo
Matt Mackall
push: don't treat bookmark as a found change...
r16038 [1]
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ cd ../a
listkeys hook
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "listkeys = printenv.py listkeys" >> .hg/hgrc
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ hg bookmark -r null bar
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
pretxnclose hook: HG_BOOKMARK_MOVED=1 HG_PENDING=$TESTTMP/a HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ cd ../b
$ hg pull -B bar ../a
pulling from ../a
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
Pierre-Yves David
tests: use bundle2 for test-hook...
r25370 no changes found
listkeys hook: HG_NAMESPACE=phase HG_VALUES={}
adding remote bookmark bar
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 listkeys hook: HG_NAMESPACE=phases HG_VALUES={'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b': '1', 'publishing': 'True'}
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ cd ../a
test that prepushkey can prevent incoming keys
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "prepushkey = printenv.py prepushkey.forbid 1" >> .hg/hgrc
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ cd ../b
$ hg bookmark -r null baz
$ hg push -B baz ../a
pushing to ../a
searching for changes
Pierre-Yves David
push: perform phases discovery before the push...
r22019 listkeys hook: HG_NAMESPACE=phases HG_VALUES={'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b': '1', 'publishing': 'True'}
Pierre-Yves David
push: move bookmark discovery with other discovery steps...
r22239 listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 no changes found
Pierre-Yves David
tests: use bundle2 for test-hook...
r25370 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=push (glob)
Pierre-Yves David
hooks: back 9f272bf3b342 out...
r26861 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)
Pierre-Yves David
tests: use bundle2 for test-hook...
r25370 pushkey-abort: prepushkey hook exited with status 1
Pierre-Yves David
bookmarks: abort the whole push if bookmarks fails to update (BC)...
r25501 abort: exporting bookmark baz failed!
[255]
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ cd ../a
test that prelistkeys can prevent listing keys
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "prelistkeys = printenv.py prelistkeys.forbid 1" >> .hg/hgrc
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ hg bookmark -r null quux
Pierre-Yves David
bookmarks: change bookmark within a transaction...
r25744 pretxnopen hook: HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
pretxnclose hook: HG_BOOKMARK_MOVED=1 HG_PENDING=$TESTTMP/a HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
txnclose hook: HG_BOOKMARK_MOVED=1 HG_TXNID=TXN:* HG_TXNNAME=bookmark (glob)
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 $ cd ../b
$ hg pull -B quux ../a
pulling from ../a
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 prelistkeys.forbid hook: HG_NAMESPACE=bookmarks
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102 abort: prelistkeys hook exited with status 1
[255]
$ cd ../a
Siddharth Agarwal
test-hook.t: remove prelistkeys.forbid hook before moving on...
r18850 $ rm .hg/hgrc
Brodie Rao
pushkey: add hooks for pushkey/listkeys
r14102
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 prechangegroup hook can prevent incoming changes
Nicolas Dumazet
tests: unify test-hook
r11793
$ cd ../b
$ hg -q tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 3:07f3376c1e65
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ cat > .hg/hgrc <<EOF
> [hooks]
Matt Mackall
tests: simplify printenv calls...
r25478 > prechangegroup.forbid = printenv.py prechangegroup.forbid 1
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > EOF
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg pull ../a
pulling from ../a
searching for changes
Pierre-Yves David
hooks: back 9f272bf3b342 out...
r26861 prechangegroup.forbid hook: HG_SOURCE=pull HG_TXNID=TXN:* HG_URL=file:$TESTTMP/a (glob)
Nicolas Dumazet
tests: unify test-hook
r11793 abort: prechangegroup.forbid hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 pretxnchangegroup hook can see incoming changes, can roll back txn,
incoming changes no longer there after
Nicolas Dumazet
tests: unify test-hook
r11793
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ cat > .hg/hgrc <<EOF
> [hooks]
> pretxnchangegroup.forbid0 = hg tip -q
Matt Mackall
tests: simplify printenv calls...
r25478 > pretxnchangegroup.forbid1 = printenv.py pretxnchangegroup.forbid 1
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > EOF
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg pull ../a
pulling from ../a
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Mads Kiilerich
util: flush stdout before calling external processes...
r13439 4:539e4b31b6dc
Mateusz Kwapich
hooks: add HG_NODE_LAST to txnclose and changegroup hook environments...
r27739 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)
Nicolas Dumazet
tests: unify test-hook
r11793 transaction abort!
rollback completed
abort: pretxnchangegroup.forbid1 hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg -q tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 3:07f3376c1e65
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 outgoing hooks can see env vars
Nicolas Dumazet
tests: unify test-hook
r11793
$ rm .hg/hgrc
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ cat > ../a/.hg/hgrc <<EOF
> [hooks]
Matt Mackall
tests: simplify printenv calls...
r25478 > preoutgoing = printenv.py preoutgoing
> outgoing = printenv.py outgoing
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > EOF
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg pull ../a
pulling from ../a
searching for changes
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 preoutgoing hook: HG_SOURCE=pull
Pierre-Yves David
tests: use bundle2 for test-hook...
r25370 outgoing hook: HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10 HG_SOURCE=pull
Nicolas Dumazet
tests: unify test-hook
r11793 adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 adding remote bookmark quux
Nicolas Dumazet
tests: unify test-hook
r11793 (run 'hg update' to get a working copy)
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 3 (undo pull)
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 preoutgoing hook can prevent outgoing changes
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "preoutgoing.forbid = printenv.py preoutgoing.forbid 1" >> ../a/.hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg pull ../a
Mads Kiilerich
util: flush stdout before calling external processes...
r13439 pulling from ../a
searching for changes
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 preoutgoing hook: HG_SOURCE=pull
preoutgoing.forbid hook: HG_SOURCE=pull
Nicolas Dumazet
tests: unify test-hook
r11793 abort: preoutgoing.forbid hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 outgoing hooks work for local clones
Nicolas Dumazet
tests: unify test-hook
r11793
$ cd ..
Adrian Buehlmann
test-hook: adapt for Windows
r16964 $ cat > a/.hg/hgrc <<EOF
> [hooks]
Matt Mackall
tests: simplify printenv calls...
r25478 > preoutgoing = printenv.py preoutgoing
> outgoing = printenv.py outgoing
Adrian Buehlmann
test-hook: adapt for Windows
r16964 > EOF
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg clone a c
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 preoutgoing hook: HG_SOURCE=clone
outgoing hook: HG_NODE=0000000000000000000000000000000000000000 HG_SOURCE=clone
Nicolas Dumazet
tests: unify test-hook
r11793 updating to branch default
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm -rf c
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 preoutgoing hook can prevent outgoing changes for local clones
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: simplify printenv calls...
r25478 $ echo "preoutgoing.forbid = printenv.py preoutgoing.forbid 1" >> a/.hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ hg clone a zzz
Adrian Buehlmann
tests/printenv.py: eliminate trailing spaces on output
r16982 preoutgoing hook: HG_SOURCE=clone
preoutgoing.forbid hook: HG_SOURCE=clone
Nicolas Dumazet
tests: unify test-hook
r11793 abort: preoutgoing.forbid hook exited with status 1
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
test-hook: adapt for Windows
r16964
$ cd "$TESTTMP/b"
Nicolas Dumazet
tests: unify test-hook
r11793
$ cat > hooktests.py <<EOF
Pierre-Yves David
error: get Abort from 'error' instead of 'util'...
r26587 > from mercurial import error
Nicolas Dumazet
tests: unify test-hook
r11793 >
> uncallable = 0
>
> def printargs(args):
> args.pop('ui', None)
> args.pop('repo', None)
> a = list(args.items())
> a.sort()
> print 'hook args:'
> for k, v in a:
> print ' ', k, v
>
> def passhook(**args):
> printargs(args)
>
> def failhook(**args):
> printargs(args)
> return True
>
> class LocalException(Exception):
> pass
>
> def raisehook(**args):
> raise LocalException('exception from hook')
>
> def aborthook(**args):
Pierre-Yves David
error: get Abort from 'error' instead of 'util'...
r26587 > raise error.Abort('raise abort from hook')
Nicolas Dumazet
tests: unify test-hook
r11793 >
> def brokenhook(**args):
> return 1 + {}
>
Idan Kamara
dispatch: propagate ui command options to the local ui (issue2523)...
r14601 > def verbosehook(ui, **args):
> ui.note('verbose output from hook\n')
>
Mads Kiilerich
tag: invalidate tag cache immediately after adding new tag (issue3210)...
r15929 > def printtags(ui, repo, **args):
Mads Kiilerich
tests: make test-hook.t output more stable
r18377 > print sorted(repo.tags())
Mads Kiilerich
tag: invalidate tag cache immediately after adding new tag (issue3210)...
r15929 >
Nicolas Dumazet
tests: unify test-hook
r11793 > class container:
> unreachable = 1
> EOF
Siddharth Agarwal
hook: don't crash on syntax errors in python hooks...
r28109 $ cat > syntaxerror.py << EOF
> (foo
> EOF
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 test python hooks
Nicolas Dumazet
tests: unify test-hook
r11793
Adrian Buehlmann
test-hook: adapt for Windows
r16964 #if windows
$ PYTHONPATH="$TESTTMP/b;$PYTHONPATH"
#else
$ PYTHONPATH="$TESTTMP/b:$PYTHONPATH"
#endif
Nicolas Dumazet
tests: unify test-hook
r11793 $ export PYTHONPATH
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.broken = python:hooktests.brokenhook' >> ../a/.hg/hgrc
$ hg pull ../a 2>&1 | grep 'raised an exception'
error: preoutgoing.broken hook raised an exception: unsupported operand type(s) for +: 'int' and 'dict'
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.raise = python:hooktests.raisehook' >> ../a/.hg/hgrc
$ hg pull ../a 2>&1 | grep 'raised an exception'
error: preoutgoing.raise hook raised an exception: exception from hook
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.abort = python:hooktests.aborthook' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
error: preoutgoing.abort hook failed: raise abort from hook
abort: raise abort from hook
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.fail = python:hooktests.failhook' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
hook args:
hooktype preoutgoing
source pull
abort: preoutgoing.fail hook failed
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.uncallable = python:hooktests.uncallable' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
Siddharth Agarwal
hook: fewer parentheses for hook load errors...
r28079 abort: preoutgoing.uncallable hook is invalid: "hooktests.uncallable" is not callable
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.nohook = python:hooktests.nohook' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
Siddharth Agarwal
hook: fewer parentheses for hook load errors...
r28079 abort: preoutgoing.nohook hook is invalid: "hooktests.nohook" is not defined
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.nomodule = python:nomodule' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
Siddharth Agarwal
hook: even fewer parentheses for load errors...
r28106 abort: preoutgoing.nomodule hook is invalid: "nomodule" not in a module
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.badmodule = python:nomodule.nowhere' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
Siddharth Agarwal
hook: fewer parentheses for hook load errors...
r28079 abort: preoutgoing.badmodule hook is invalid: import of "nomodule" failed
Siddharth Agarwal
hook: for python hook ImportErrors, add note to run with --traceback...
r28080 (run with --traceback for stack trace)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > ../a/.hg/hgrc
$ echo 'preoutgoing.unreachable = python:hooktests.container.unreachable' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
Siddharth Agarwal
hook: fewer parentheses for hook load errors...
r28079 abort: preoutgoing.unreachable hook is invalid: import of "hooktests.container" failed
Siddharth Agarwal
hook: for python hook ImportErrors, add note to run with --traceback...
r28080 (run with --traceback for stack trace)
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > ../a/.hg/hgrc
Siddharth Agarwal
hook: don't crash on syntax errors in python hooks...
r28109 $ echo 'preoutgoing.syntaxerror = python:syntaxerror.syntaxerror' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
abort: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
(run with --traceback for stack trace)
[255]
Siddharth Agarwal
hook: filter out unstable output in tests...
r28444 The second egrep is to filter out lines like ' ^', which are slightly
different between Python 2.6 and Python 2.7.
$ hg pull ../a --traceback 2>&1 | egrep -v '^( +File| [_a-zA-Z*(])' | egrep -v '^( )+(\^)?$'
Siddharth Agarwal
hook: don't crash on syntax errors in python hooks...
r28109 pulling from ../a
searching for changes
exception from first failed import attempt:
Traceback (most recent call last):
SyntaxError: invalid syntax
exception from second failed import attempt:
Traceback (most recent call last):
ImportError: No module named hgext_syntaxerror
Traceback (most recent call last):
HookLoadError: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
abort: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
$ echo '[hooks]' > ../a/.hg/hgrc
Nicolas Dumazet
tests: unify test-hook
r11793 $ echo 'preoutgoing.pass = python:hooktests.passhook' >> ../a/.hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
hook args:
hooktype preoutgoing
source pull
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Levi Bard
bookmarks: pull new bookmarks from remote by default (BC)
r16697 adding remote bookmark quux
Nicolas Dumazet
tests: unify test-hook
r11793 (run 'hg update' to get a working copy)
Siddharth Agarwal
hook: add tests for failing post- python hooks...
r28107 post- python hooks that fail to *run* don't cause an abort
$ rm ../a/.hg/hgrc
$ echo '[hooks]' > .hg/hgrc
$ echo 'post-pull.broken = python:hooktests.brokenhook' >> .hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
no changes found
error: post-pull.broken hook raised an exception: unsupported operand type(s) for +: 'int' and 'dict'
Siddharth Agarwal
hook: for python hook exceptions, add note to run with --traceback...
r28108 (run with --traceback for stack trace)
Siddharth Agarwal
hook: add tests for failing post- python hooks...
r28107
but post- python hooks that fail to *load* do
$ echo '[hooks]' > .hg/hgrc
$ echo 'post-pull.nomodule = python:nomodule' >> .hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
no changes found
abort: post-pull.nomodule hook is invalid: "nomodule" not in a module
[255]
$ echo '[hooks]' > .hg/hgrc
$ echo 'post-pull.badmodule = python:nomodule.nowhere' >> .hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
no changes found
abort: post-pull.badmodule hook is invalid: import of "nomodule" failed
(run with --traceback for stack trace)
[255]
$ echo '[hooks]' > .hg/hgrc
$ echo 'post-pull.nohook = python:hooktests.nohook' >> .hg/hgrc
$ hg pull ../a
pulling from ../a
searching for changes
no changes found
abort: post-pull.nohook hook is invalid: "hooktests.nohook" is not defined
[255]
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 make sure --traceback works
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > .hg/hgrc
$ echo 'commit.abort = python:hooktests.aborthook' >> .hg/hgrc
$ echo aa > a
$ hg --traceback commit -d '0 0' -ma 2>&1 | grep '^Traceback'
Traceback (most recent call last):
$ cd ..
$ hg init c
$ cd c
$ cat > hookext.py <<EOF
> def autohook(**args):
> print "Automatically installed hook"
>
> def reposetup(ui, repo):
> repo.ui.setconfig("hooks", "commit.auto", autohook)
> EOF
$ echo '[extensions]' >> .hg/hgrc
$ echo 'hookext = hookext.py' >> .hg/hgrc
$ touch foo
$ hg add foo
$ hg ci -d '0 0' -m 'add foo'
Automatically installed hook
$ echo >> foo
Nicolas Dumazet
tests: remove useless sed in test-hook
r11794 $ hg ci --debug -d '0 0' -m 'change foo'
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing files:
Nicolas Dumazet
tests: unify test-hook
r11793 foo
Mads Kiilerich
localrepo: show headline notes in commitctx before showing filenames...
r23749 committing manifest
committing changelog
FUJIWARA Katsunori
commands: make commit acquire locks before processing (issue4368)...
r27192 committed changeset 1:52998019f6252a2b893452765fcb0a47351a5708
Mads Kiilerich
hooks: for python hooks, consistently use __name__ etc as name, not the repr...
r20548 calling hook commit.auto: hgext_hookext.autohook
Nicolas Dumazet
tests: unify test-hook
r11793 Automatically installed hook
Nicolas Dumazet
tests: remove useless sed in test-hook
r11794 $ hg showconfig hooks
Brodie Rao
tests: add glob matching for unified tests...
r12376 hooks.commit.auto=<function autohook at *> (glob)
Nicolas Dumazet
tests: unify test-hook
r11793
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 test python hook configured with python:[file]:[hook] syntax
Nicolas Dumazet
tests: unify test-hook
r11793
$ cd ..
$ mkdir d
$ cd d
$ hg init repo
$ mkdir hooks
$ cd hooks
$ cat > testhooks.py <<EOF
> def testhook(**args):
> print 'hook works'
> EOF
$ echo '[hooks]' > ../repo/.hg/hgrc
$ echo "pre-commit.test = python:`pwd`/testhooks.py:testhook" >> ../repo/.hg/hgrc
$ cd ../repo
$ hg commit -d '0 0'
hook works
nothing changed
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-hook
r11793
Simon Heimberg
hooks: print out more information when loading a python hook fails...
r17217 $ echo '[hooks]' > .hg/hgrc
timeless@mozdev.org
spelling: nonexistent
r17492 $ echo "update.ne = python:`pwd`/nonexistent.py:testhook" >> .hg/hgrc
Simon Heimberg
hooks: print out more information when loading a python hook fails...
r17217 $ echo "pre-identify.npmd = python:`pwd`/:no_python_module_dir" >> .hg/hgrc
$ hg up null
loading update.ne hook failed:
timeless@mozdev.org
spelling: nonexistent
r17492 abort: No such file or directory: $TESTTMP/d/repo/nonexistent.py
Simon Heimberg
hooks: print out more information when loading a python hook fails...
r17217 [255]
$ hg id
loading pre-identify.npmd hook failed:
abort: No module named repo!
[255]
Nicolas Dumazet
tests: unify test-hook
r11793 $ cd ../../b
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 make sure --traceback works on hook import failure
Nicolas Dumazet
tests: unify test-hook
r11793
$ cat > importfail.py <<EOF
> import somebogusmodule
> # dereference something in the module to force demandimport to load it
> somebogusmodule.whatever
> EOF
$ echo '[hooks]' > .hg/hgrc
$ echo 'precommit.importfail = python:importfail.whatever' >> .hg/hgrc
$ echo a >> a
Mads Kiilerich
test-hook.t: Solaris /usr/bin/egrep do not support {4}
r17283 $ hg --traceback commit -ma 2>&1 | egrep -v '^( +File| [a-zA-Z(])'
Nicolas Dumazet
tests: unify test-hook
r11793 exception from first failed import attempt:
Traceback (most recent call last):
ImportError: No module named somebogusmodule
exception from second failed import attempt:
Traceback (most recent call last):
ImportError: No module named hgext_importfail
Traceback (most recent call last):
Siddharth Agarwal
hook: fewer parentheses for hook load errors...
r28079 HookLoadError: precommit.importfail hook is invalid: import of "importfail" failed
abort: precommit.importfail hook is invalid: import of "importfail" failed
Nicolas Dumazet
tests: unify test-hook
r11793
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue1827: Hooks Update & Commit not completely post operation
Matt Harbison
merge: run update hook after the last wlock release...
r24881 commit and update hooks should run after command completion. The largefiles
use demonstrates a recursive wlock, showing the hook doesn't run until the
final release (and dirstate flush).
Nicolas Dumazet
tests: unify test-hook
r11793
$ echo '[hooks]' > .hg/hgrc
$ echo 'commit = hg id' >> .hg/hgrc
$ echo 'update = hg id' >> .hg/hgrc
$ echo bb > a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -ma
223eafe2750c tip
Matt Harbison
merge: run update hook after the last wlock release...
r24881 $ hg up 0 --config extensions.largefiles=
FUJIWARA Katsunori
merge: make in-memory changes visible to external update hooks...
r26752 cb9a9f314b8b
Pierre-Yves David
update: wlock the repo for the whole 'hg update' command...
r26028 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Nicolas Dumazet
tests: unify test-hook
r11793
timeless@mozdev.org
spelling: propagated
r17508 make sure --verbose (and --quiet/--debug etc.) are propagated to the local ui
Idan Kamara
dispatch: propagate ui command options to the local ui (issue2523)...
r14601 that is passed to pre/post hooks
$ echo '[hooks]' > .hg/hgrc
$ echo 'pre-identify = python:hooktests.verbosehook' >> .hg/hgrc
$ hg id
cb9a9f314b8b
$ hg id --verbose
calling hook pre-identify: hooktests.verbosehook
verbose output from hook
cb9a9f314b8b
Matt Zuba
hooks: prioritize run order of hooks...
r15896
Ensure hooks can be prioritized
$ echo '[hooks]' > .hg/hgrc
$ echo 'pre-identify.a = python:hooktests.verbosehook' >> .hg/hgrc
$ echo 'pre-identify.b = python:hooktests.verbosehook' >> .hg/hgrc
$ echo 'priority.pre-identify.b = 1' >> .hg/hgrc
$ echo 'pre-identify.c = python:hooktests.verbosehook' >> .hg/hgrc
$ hg id --verbose
calling hook pre-identify.b: hooktests.verbosehook
verbose output from hook
calling hook pre-identify.a: hooktests.verbosehook
verbose output from hook
calling hook pre-identify.c: hooktests.verbosehook
verbose output from hook
cb9a9f314b8b
Mads Kiilerich
tag: invalidate tag cache immediately after adding new tag (issue3210)...
r15929
new tags must be visible in pretxncommit (issue3210)
$ echo 'pretxncommit.printtags = python:hooktests.printtags' >> .hg/hgrc
$ hg tag -f foo
['a', 'foo', 'tip']
Sietse Brouwer
dirstate: don't write repo.currenttransaction to repo.dirstate if repo...
r27228 post-init hooks must not crash (issue4983)
This also creates the `to` repo for the next test block.
$ cd ..
$ cat << EOF >> hgrc-with-post-init-hook
> [hooks]
> post-init = printenv.py post-init
> EOF
$ HGRCPATH=hgrc-with-post-init-hook hg init to
post-init hook: HG_ARGS=init to HG_OPTS={'insecure': None, 'remotecmd': '', 'ssh': ''} HG_PATS=['to'] HG_RESULT=0
Bryan O'Sullivan
changelog: ensure that nodecache is valid (issue3428)...
r16619 new commits must be visible in pretxnchangegroup (issue3428)
$ echo '[hooks]' >> to/.hg/hgrc
Durham Goode
hooks: fix hooks not firing if prechangegroup was set (issue4934)...
r26859 $ echo 'prechangegroup = hg --traceback tip' >> to/.hg/hgrc
Bryan O'Sullivan
changelog: ensure that nodecache is valid (issue3428)...
r16619 $ echo 'pretxnchangegroup = hg --traceback tip' >> to/.hg/hgrc
$ echo a >> to/a
$ hg --cwd to ci -Ama
adding a
$ hg clone to from
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo aa >> from/a
$ hg --cwd from ci -mb
$ hg --cwd from push
Adrian Buehlmann
test-hook: adapt for Windows
r16964 pushing to $TESTTMP/to (glob)
Bryan O'Sullivan
changelog: ensure that nodecache is valid (issue3428)...
r16619 searching for changes
Durham Goode
hooks: fix hooks not firing if prechangegroup was set (issue4934)...
r26859 changeset: 0:cb9a9f314b8b
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
Bryan O'Sullivan
changelog: ensure that nodecache is valid (issue3428)...
r16619 adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
changeset: 1:9836a07b9b9d
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: b
Durham Goode
transaction: abort transaction during hook exception...
r27924 $ cd ..
pretxnclose hook failure should abort the transaction
$ hg init txnfailure
$ cd txnfailure
$ touch a && hg commit -Aqm a
$ cat >> .hg/hgrc <<EOF
> [hooks]
> pretxnclose.error = exit 1
> EOF
$ hg strip -r 0 --config extensions.strip=
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
saved backup bundle to * (glob)
transaction abort!
rollback completed
strip failed, full bundle stored in * (glob)
abort: pretxnclose.error hook exited with status 1
[255]
$ hg recover
no interrupted transaction available
[1]