Mercurial > public > mercurial-scm > hg-stable
diff tests/test-hook.t @ 14102:7f45b1911893
pushkey: add hooks for pushkey/listkeys
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Sun, 01 May 2011 11:12:36 +0200 |
parents | 0fb2ff949790 |
children | cb98fed52495 |
line wrap: on
line diff
--- a/tests/test-hook.t Sat Apr 30 12:02:09 2011 -0500 +++ b/tests/test-hook.t Sun May 01 11:12:36 2011 +0200 @@ -168,6 +168,61 @@ update hook: HG_ERROR=0 HG_PARENT1=539e4b31b6dc 2 files updated, 0 files merged, 0 files removed, 0 files unresolved +pushkey hook + + $ echo 'pushkey = python "$TESTDIR"/printenv.py pushkey' >> .hg/hgrc + $ cd ../b + $ hg bookmark -r null foo + $ hg push -B foo ../a + pushing to ../a + searching for changes + no changes found + exporting bookmark foo + pushkey hook: HG_KEY=foo HG_NAMESPACE=bookmarks HG_NEW=0000000000000000000000000000000000000000 HG_RET=1 + $ cd ../a + +listkeys hook + + $ echo 'listkeys = python "$TESTDIR"/printenv.py listkeys' >> .hg/hgrc + $ hg bookmark -r null bar + $ cd ../b + $ hg pull -B bar ../a + pulling from ../a + listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'} + searching for changes + listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'} + importing bookmark bar + $ cd ../a + +test that prepushkey can prevent incoming keys + + $ echo 'prepushkey = python "$TESTDIR"/printenv.py prepushkey.forbid 1' >> .hg/hgrc + $ cd ../b + $ hg bookmark -r null baz + $ hg push -B baz ../a + pushing to ../a + searching for changes + no changes found + listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'} + listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'} + exporting bookmark baz + prepushkey.forbid hook: HG_KEY=baz HG_NAMESPACE=bookmarks HG_NEW=0000000000000000000000000000000000000000 + abort: prepushkey hook exited with status 1 + [255] + $ cd ../a + +test that prelistkeys can prevent listing keys + + $ echo 'prelistkeys = python "$TESTDIR"/printenv.py prelistkeys.forbid 1' >> .hg/hgrc + $ hg bookmark -r null quux + $ cd ../b + $ hg pull -B quux ../a + pulling from ../a + prelistkeys.forbid hook: HG_NAMESPACE=bookmarks + abort: prelistkeys hook exited with status 1 + [255] + $ cd ../a + prechangegroup hook can prevent incoming changes $ cd ../b