tests/test-hook.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Sun, 08 Sep 2019 09:42:53 +0200
changeset 42897 d7304434390f
parent 41896 94faa2e84094
child 43076 2372284d9457
permissions -rw-r--r--
changegroup: move message about added changes to transaction summary Before that, applying multiple changegroups in the same transaction issued the message multiple time. This result in a confusing output: adding changesets adding manifests adding file changes added 32768 changesets with 60829 changes to 2668 files adding changesets adding manifests adding file changes added 8192 changesets with 16885 changes to 1553 files adding changesets adding manifests adding file changes added 1020 changesets with 1799 changes to 536 files adding changesets adding manifests ... Instead, we now only issue the message once at the end of the transaction, summing up all added changesets, changes and files. The line is identical, but happens sightly later in the output. There are other suboptimal behavior around issue multiple changegroup (eg: progress bar). We'll cover them later. This impact of lot of test as one would expect, but a two pass check show they are just the order change we expected. To deal with "under the hood" bundle application by internal code, we had to take a slightly hacky move. We could clean that up with a more official way to enter "under the hood" section, however I want to keep this series simple to get it landed. This kind of change have a very high bit rot rate since it impact a lot of test output.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
     1
commit hooks can see env vars
24821
57f1dbc99631 afterlock: add the callback to the top level lock (issue4608)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24792
diff changeset
     2
(and post-transaction one are run unlocked)
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
     3
25370
faed8e52b81f tests: use bundle2 for test-hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25268
diff changeset
     4
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
     5
  $ cat > $TESTTMP/txnabort.checkargs.py <<EOF
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
     6
  > from mercurial import pycompat
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
     7
  > def showargs(ui, repo, hooktype, **kwargs):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
     8
  >     kwargs = pycompat.byteskwargs(kwargs)
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
     9
  >     ui.write(b'%s Python hook: %s\n' % (hooktype,
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
    10
  >                                         b','.join(sorted(kwargs))))
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
    11
  > EOF
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
    12
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    13
  $ hg init a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    14
  $ cd a
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
    15
  $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
    16
  > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    17
  > commit = sh -c "HG_LOCAL= HG_TAG= printenv.py --line commit"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    18
  > commit.b = sh -c "HG_LOCAL= HG_TAG= printenv.py --line commit.b"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    19
  > precommit = sh -c  "HG_LOCAL= HG_NODE= HG_TAG= printenv.py --line precommit"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    20
  > pretxncommit = sh -c "HG_LOCAL= HG_TAG= printenv.py --line pretxncommit"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
    21
  > pretxncommit.tip = hg -q tip
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    22
  > pre-identify = sh -c "printenv.py --line pre-identify 1"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    23
  > pre-cat = sh -c "printenv.py --line pre-cat"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    24
  > post-cat = sh -c "printenv.py --line post-cat"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    25
  > pretxnopen = sh -c "HG_LOCAL= HG_TAG= printenv.py --line pretxnopen"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    26
  > pretxnclose = sh -c "HG_LOCAL= HG_TAG= printenv.py --line pretxnclose"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    27
  > txnclose = sh -c "HG_LOCAL= HG_TAG= printenv.py --line txnclose"
25218
00d905a12bb6 localrepo: rename hook argument from TXNID to txnid (BC)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 24881
diff changeset
    28
  > txnabort.0 = python:$TESTTMP/txnabort.checkargs.py:showargs
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    29
  > txnabort.1 = sh -c "HG_LOCAL= HG_TAG= printenv.py --line txnabort"
24827
2f2de8a7f97f test-hook.t: don't directly use redirect to /dev/null in hook for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 24821
diff changeset
    30
  > txnclose.checklock = sh -c "hg debuglock > /dev/null"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
    31
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    32
  $ echo a > a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    33
  $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
    34
  $ hg commit -m a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    35
  precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    36
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    37
  HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    38
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    39
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    40
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    41
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    42
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    43
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    44
  pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    45
  HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    46
  HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    47
  HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    48
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    49
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
    50
  0:cb9a9f314b8b
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    51
  pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    52
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    53
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    54
  HG_PHASES_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    55
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    56
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    57
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    58
  txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    59
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    60
  HG_PHASES_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    61
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    62
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    63
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    64
  commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    65
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    66
  HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    67
  HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    68
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    69
  commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    70
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    71
  HG_NODE=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    72
  HG_PARENT1=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    73
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    74
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    75
  $ hg clone . ../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    76
  updating to branch default
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    77
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    78
  $ cd ../b
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
    79
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
    80
changegroup hooks can see env vars
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    81
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
    82
  $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
    83
  > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    84
  > prechangegroup = sh -c "printenv.py --line prechangegroup"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    85
  > changegroup = sh -c "printenv.py --line changegroup"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    86
  > incoming = sh -c "printenv.py --line incoming"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
    87
  > EOF
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
    88
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
    89
pretxncommit and commit hooks can see both parents of merge
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    90
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    91
  $ cd ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    92
  $ echo b >> a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
    93
  $ hg commit -m a1 -d "1 0"
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    94
  precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    95
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    96
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    97
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    98
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
    99
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   100
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   101
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   102
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   103
  pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   104
  HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   105
  HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   106
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   107
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   108
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   109
  1:ab228980c14d
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   110
  pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   111
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   112
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   113
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   114
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   115
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   116
  txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   117
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   118
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   119
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   120
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   121
  commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   122
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   123
  HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   124
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   125
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   126
  commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   127
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   128
  HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   129
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   130
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   131
  $ hg update -C 0
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   132
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   133
  $ echo b > b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   134
  $ hg add b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   135
  $ hg commit -m b -d '1 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   136
  precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   137
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   138
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   139
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   140
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   141
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   142
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   143
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   144
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   145
  pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   146
  HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   147
  HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   148
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   149
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   150
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   151
  2:ee9deb46ab31
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   152
  pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   153
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   154
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   155
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   156
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   157
  
27192
a01d3d32b53a commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26861
diff changeset
   158
  created new head
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   159
  txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   160
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   161
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   162
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   163
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   164
  commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   165
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   166
  HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   167
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   168
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   169
  commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   170
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   171
  HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   172
  HG_PARENT1=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   173
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   174
  $ hg merge 1
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   175
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   176
  (branch merge, don't forget to commit)
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   177
  $ hg commit -m merge -d '2 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   178
  precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   179
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   180
  HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   181
  HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   182
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   183
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   184
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   185
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   186
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   187
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   188
  pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   189
  HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   190
  HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   191
  HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   192
  HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   193
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   194
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   195
  3:07f3376c1e65
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   196
  pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   197
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   198
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   199
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   200
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   201
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   202
  txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   203
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   204
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   205
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   206
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   207
  commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   208
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   209
  HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   210
  HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   211
  HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   212
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   213
  commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   214
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   215
  HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   216
  HG_PARENT1=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   217
  HG_PARENT2=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   218
  
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
   219
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   220
test generic hooks
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   221
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   222
  $ hg id
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   223
  pre-identify hook: HG_ARGS=id
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   224
  HG_HOOKNAME=pre-identify
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   225
  HG_HOOKTYPE=pre-identify
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   226
  HG_OPTS={'bookmarks': None, 'branch': None, 'id': None, 'insecure': None, 'num': None, 'remotecmd': '', 'rev': '', 'ssh': '', 'tags': None, 'template': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   227
  HG_PATS=[]
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   228
  
19011
12acbea17625 dispatch: print 'abort:' when a pre-command hook fails (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 18851
diff changeset
   229
  abort: pre-identify hook exited with status 1
12acbea17625 dispatch: print 'abort:' when a pre-command hook fails (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 18851
diff changeset
   230
  [255]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   231
  $ hg cat b
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   232
  pre-cat hook: HG_ARGS=cat b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   233
  HG_HOOKNAME=pre-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   234
  HG_HOOKTYPE=pre-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   235
  HG_OPTS={'decode': None, 'exclude': [], 'include': [], 'output': '', 'rev': '', 'template': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   236
  HG_PATS=['b']
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   237
  
13121
bf763946f8b0 make_file: always return a fresh file handle that can be closed
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 12640
diff changeset
   238
  b
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   239
  post-cat hook: HG_ARGS=cat b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   240
  HG_HOOKNAME=post-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   241
  HG_HOOKTYPE=post-cat
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   242
  HG_OPTS={'decode': None, 'exclude': [], 'include': [], 'output': '', 'rev': '', 'template': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   243
  HG_PATS=['b']
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   244
  HG_RESULT=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   245
  
4630
e6d105a51ec7 dispatch: add generic pre- and post-command hooks
Matt Mackall <mpm@selenic.com>
parents: 4368
diff changeset
   246
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   247
  $ cd ../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   248
  $ hg pull ../a
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   249
  pulling from ../a
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   250
  searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   251
  prechangegroup hook: HG_HOOKNAME=prechangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   252
  HG_HOOKTYPE=prechangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   253
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   254
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   255
  HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   256
  file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   257
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   258
  
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   259
  adding changesets
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   260
  adding manifests
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   261
  adding file changes
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   262
  added 3 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34452
diff changeset
   263
  new changesets ab228980c14d:07f3376c1e65
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   264
  changegroup hook: HG_HOOKNAME=changegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   265
  HG_HOOKTYPE=changegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   266
  HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   267
  HG_NODE_LAST=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   268
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   269
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   270
  HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   271
  file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   272
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   273
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   274
  incoming hook: HG_HOOKNAME=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   275
  HG_HOOKTYPE=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   276
  HG_NODE=ab228980c14deea8b9555d91c9581127383e40fd
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   277
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   278
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   279
  HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   280
  file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   281
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   282
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   283
  incoming hook: HG_HOOKNAME=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   284
  HG_HOOKTYPE=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   285
  HG_NODE=ee9deb46ab31e4cc3310f3cf0c3d668e4d8fffc2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   286
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   287
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   288
  HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   289
  file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   290
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   291
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   292
  incoming hook: HG_HOOKNAME=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   293
  HG_HOOKTYPE=incoming
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   294
  HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   295
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   296
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   297
  HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   298
  file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   299
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   300
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   301
  (run 'hg update' to get a working copy)
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
   302
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   303
tag hooks can see env vars
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   304
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   305
  $ cd ../a
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   306
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   307
  > pretag = sh -c "printenv.py --line pretag"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   308
  > tag = sh -c "HG_PARENT1= HG_PARENT2= printenv.py --line tag"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   309
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   310
  $ hg tag -d '3 0' a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   311
  pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   312
  HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   313
  HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   314
  HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   315
  HG_TAG=a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   316
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   317
  precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   318
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   319
  HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   320
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   321
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   322
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   323
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   324
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   325
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   326
  pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   327
  HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   328
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   329
  HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   330
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   331
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   332
  4:539e4b31b6dc
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   333
  pretxnclose hook: HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   334
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   335
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   336
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   337
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   338
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   339
  tag hook: HG_HOOKNAME=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   340
  HG_HOOKTYPE=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   341
  HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   342
  HG_NODE=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   343
  HG_TAG=a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   344
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   345
  txnclose hook: HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   346
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   347
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   348
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   349
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   350
  commit hook: HG_HOOKNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   351
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   352
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   353
  HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   354
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   355
  commit.b hook: HG_HOOKNAME=commit.b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   356
  HG_HOOKTYPE=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   357
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   358
  HG_PARENT1=07f3376c1e655977439df2a814e3cc14b27abac2
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   359
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   360
  $ hg tag -l la
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   361
  pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   362
  HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   363
  HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   364
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   365
  HG_TAG=la
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   366
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   367
  tag hook: HG_HOOKNAME=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   368
  HG_HOOKTYPE=tag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   369
  HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   370
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   371
  HG_TAG=la
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   372
  
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
   373
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   374
pretag hook can forbid tagging
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   375
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   376
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   377
  > pretag.forbid = sh -c "printenv.py --line pretag.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   378
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   379
  $ hg tag -d '4 0' fa
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   380
  pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   381
  HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   382
  HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   383
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   384
  HG_TAG=fa
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   385
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   386
  pretag.forbid hook: HG_HOOKNAME=pretag.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   387
  HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   388
  HG_LOCAL=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   389
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   390
  HG_TAG=fa
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   391
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   392
  abort: pretag.forbid hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   393
  [255]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   394
  $ hg tag -l fla
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   395
  pretag hook: HG_HOOKNAME=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   396
  HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   397
  HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   398
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   399
  HG_TAG=fla
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   400
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   401
  pretag.forbid hook: HG_HOOKNAME=pretag.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   402
  HG_HOOKTYPE=pretag
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   403
  HG_LOCAL=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   404
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   405
  HG_TAG=fla
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   406
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   407
  abort: pretag.forbid hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   408
  [255]
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
   409
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   410
pretxncommit hook can see changeset, can roll back txn, changeset no
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   411
more there after
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   412
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   413
  $ cat >> .hg/hgrc <<EOF
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   414
  > pretxncommit.forbid0 = sh -c "hg tip -q"
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   415
  > pretxncommit.forbid1 = sh -c "printenv.py --line pretxncommit.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   416
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   417
  $ echo z > z
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   418
  $ hg add z
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   419
  $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   420
  4:539e4b31b6dc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   421
  $ hg commit -m 'fail' -d '4 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   422
  precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   423
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   424
  HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   425
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   426
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   427
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   428
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   429
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   430
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   431
  pretxncommit hook: HG_HOOKNAME=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   432
  HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   433
  HG_NODE=6f611f8018c10e827fee6bd2bc807f937e761567
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   434
  HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   435
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   436
  
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   437
  5:6f611f8018c1
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   438
  5:6f611f8018c1
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   439
  pretxncommit.forbid hook: HG_HOOKNAME=pretxncommit.forbid1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   440
  HG_HOOKTYPE=pretxncommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   441
  HG_NODE=6f611f8018c10e827fee6bd2bc807f937e761567
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   442
  HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   443
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   444
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   445
  transaction abort!
33261
be49f3fdcd10 tests: capitalize Python when it's not used as a command name
Augie Fackler <augie@google.com>
parents: 33212
diff changeset
   446
  txnabort Python hook: txnid,txnname
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   447
  txnabort hook: HG_HOOKNAME=txnabort.1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   448
  HG_HOOKTYPE=txnabort
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   449
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   450
  HG_TXNNAME=commit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   451
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   452
  rollback completed
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   453
  abort: pretxncommit.forbid1 hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   454
  [255]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   455
  $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   456
  4:539e4b31b6dc
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
   457
23292
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   458
(Check that no 'changelog.i.a' file were left behind)
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   459
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   460
  $ ls -1 .hg/store/
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   461
  00changelog.i
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   462
  00manifest.i
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   463
  data
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36109
diff changeset
   464
  fncache (repofncache !)
23292
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   465
  journal.phaseroots
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   466
  phaseroots
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   467
  undo
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 36109
diff changeset
   468
  undo.backup.fncache (repofncache !)
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23749
diff changeset
   469
  undo.backupfiles
23292
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   470
  undo.phaseroots
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   471
e44399c494ab changelog: register changelog.i.a as a temporary file
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22960
diff changeset
   472
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   473
precommit hook can prevent commit
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   474
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   475
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   476
  > precommit.forbid = sh -c "printenv.py --line precommit.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   477
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   478
  $ hg commit -m 'fail' -d '4 0'
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   479
  precommit hook: HG_HOOKNAME=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   480
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   481
  HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   482
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   483
  precommit.forbid hook: HG_HOOKNAME=precommit.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   484
  HG_HOOKTYPE=precommit
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   485
  HG_PARENT1=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   486
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   487
  abort: precommit.forbid hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   488
  [255]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   489
  $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   490
  4:539e4b31b6dc
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
   491
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   492
preupdate hook can prevent update
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   493
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   494
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   495
  > preupdate = sh -c "printenv.py --line preupdate"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   496
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   497
  $ hg update 1
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   498
  preupdate hook: HG_HOOKNAME=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   499
  HG_HOOKTYPE=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   500
  HG_PARENT1=ab228980c14d
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   501
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   502
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
2266
3f7692b0ff13 hooks: add preupdate and update hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2227
diff changeset
   503
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   504
update hook
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   505
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   506
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   507
  > update = sh -c "printenv.py --line update"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   508
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   509
  $ hg update
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   510
  preupdate hook: HG_HOOKNAME=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   511
  HG_HOOKTYPE=preupdate
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   512
  HG_PARENT1=539e4b31b6dc
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   513
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   514
  update hook: HG_ERROR=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   515
  HG_HOOKNAME=update
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   516
  HG_HOOKTYPE=update
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   517
  HG_PARENT1=539e4b31b6dc
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   518
  
26028
6fbe35588433 update: wlock the repo for the whole 'hg update' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25744
diff changeset
   519
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
2266
3f7692b0ff13 hooks: add preupdate and update hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2227
diff changeset
   520
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   521
pushkey hook
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   522
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   523
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   524
  > pushkey = sh -c "printenv.py --line pushkey"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   525
  > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   526
  $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   527
  $ hg bookmark -r null foo
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   528
  $ hg push -B foo ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   529
  pushing to ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   530
  searching for changes
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   531
  no changes found
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   532
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   533
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   534
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   535
  HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   536
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   537
  pretxnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   538
  HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   539
  HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   540
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   541
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   542
  HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   543
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   544
  HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   545
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   546
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   547
  pushkey hook: HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   548
  HG_HOOKNAME=pushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   549
  HG_HOOKTYPE=pushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   550
  HG_KEY=foo
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   551
  HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   552
  HG_NEW=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   553
  HG_PUSHKEYCOMPAT=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   554
  HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   555
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   556
  HG_TXNNAME=push
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   557
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   558
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   559
  txnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   560
  HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   561
  HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   562
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   563
  HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   564
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   565
  HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   566
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   567
  
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   568
  exporting bookmark foo
16038
dad96e752079 push: don't treat bookmark as a found change
Matt Mackall <mpm@selenic.com>
parents: 15956
diff changeset
   569
  [1]
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   570
  $ cd ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   571
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   572
listkeys hook
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   573
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   574
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   575
  > listkeys = sh -c "printenv.py --line listkeys"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   576
  > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   577
  $ hg bookmark -r null bar
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   578
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   579
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   580
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   581
  HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   582
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   583
  pretxnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   584
  HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   585
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   586
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   587
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   588
  HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   589
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   590
  txnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   591
  HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   592
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   593
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   594
  HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   595
  
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   596
  $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   597
  $ hg pull -B bar ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   598
  pulling from ../a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   599
  listkeys hook: HG_HOOKNAME=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   600
  HG_HOOKTYPE=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   601
  HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   602
  HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   603
  
25370
faed8e52b81f tests: use bundle2 for test-hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25268
diff changeset
   604
  no changes found
faed8e52b81f tests: use bundle2 for test-hook
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25268
diff changeset
   605
  adding remote bookmark bar
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   606
  $ cd ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   607
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   608
test that prepushkey can prevent incoming keys
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   609
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   610
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   611
  > prepushkey = sh -c "printenv.py --line prepushkey.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   612
  > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   613
  $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   614
  $ hg bookmark -r null baz
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   615
  $ hg push -B baz ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   616
  pushing to ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   617
  searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   618
  listkeys hook: HG_HOOKNAME=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   619
  HG_HOOKTYPE=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   620
  HG_NAMESPACE=phases
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   621
  HG_VALUES={'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b': '1', 'publishing': 'True'}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   622
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   623
  listkeys hook: HG_HOOKNAME=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   624
  HG_HOOKTYPE=listkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   625
  HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   626
  HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   627
  
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   628
  no changes found
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   629
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   630
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   631
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   632
  HG_TXNNAME=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   633
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   634
  prepushkey.forbid hook: HG_BUNDLE2=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   635
  HG_HOOKNAME=prepushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   636
  HG_HOOKTYPE=prepushkey
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   637
  HG_KEY=baz
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   638
  HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   639
  HG_NEW=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   640
  HG_PUSHKEYCOMPAT=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   641
  HG_SOURCE=push
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   642
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   643
  HG_TXNNAME=push
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   644
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   645
  
35264
a1e70c1dbec0 bookmark: use the 'bookmarks' bundle2 part to push bookmark update (issue5165)
Boris Feld <boris.feld@octobus.net>
parents: 35230
diff changeset
   646
  abort: prepushkey hook exited with status 1
25501
a99fee62611d bookmarks: abort the whole push if bookmarks fails to update (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25478
diff changeset
   647
  [255]
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   648
  $ cd ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   649
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   650
test that prelistkeys can prevent listing keys
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   651
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   652
  $ cat >> .hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   653
  > prelistkeys = sh -c "printenv.py --line prelistkeys.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   654
  > EOF
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   655
  $ hg bookmark -r null quux
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   656
  pretxnopen hook: HG_HOOKNAME=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   657
  HG_HOOKTYPE=pretxnopen
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   658
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   659
  HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   660
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   661
  pretxnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   662
  HG_HOOKNAME=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   663
  HG_HOOKTYPE=pretxnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   664
  HG_PENDING=$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   665
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   666
  HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   667
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   668
  txnclose hook: HG_BOOKMARK_MOVED=1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   669
  HG_HOOKNAME=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   670
  HG_HOOKTYPE=txnclose
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   671
  HG_TXNID=TXN:$ID$
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   672
  HG_TXNNAME=bookmark
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   673
  
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   674
  $ cd ../b
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   675
  $ hg pull -B quux ../a
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   676
  pulling from ../a
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   677
  prelistkeys.forbid hook: HG_HOOKNAME=prelistkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   678
  HG_HOOKTYPE=prelistkeys
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   679
  HG_NAMESPACE=bookmarks
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   680
  
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   681
  abort: prelistkeys hook exited with status 1
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   682
  [255]
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   683
  $ cd ../a
18850
442c0cb8287a test-hook.t: remove prelistkeys.forbid hook before moving on
Siddharth Agarwal <sid0@fb.com>
parents: 18377
diff changeset
   684
  $ rm .hg/hgrc
14102
7f45b1911893 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org>
parents: 13477
diff changeset
   685
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   686
prechangegroup hook can prevent incoming changes
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   687
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   688
  $ cd ../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   689
  $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   690
  3:07f3376c1e65
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   691
  $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   692
  > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   693
  > prechangegroup.forbid = sh -c "printenv.py --line prechangegroup.forbid 1"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   694
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   695
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   696
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   697
  searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   698
  prechangegroup.forbid hook: HG_HOOKNAME=prechangegroup.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   699
  HG_HOOKTYPE=prechangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   700
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   701
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   702
  HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   703
  file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   704
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   705
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   706
  abort: prechangegroup.forbid hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   707
  [255]
1734
9488d53233b5 tests for new hooks. fix things i found when writing tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1481
diff changeset
   708
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   709
pretxnchangegroup hook can see incoming changes, can roll back txn,
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   710
incoming changes no longer there after
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   711
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   712
  $ cat > .hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   713
  > [hooks]
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   714
  > pretxnchangegroup.forbid0 = hg tip -q
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   715
  > pretxnchangegroup.forbid1 = sh -c "printenv.py --line pretxnchangegroup.forbid 1"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   716
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   717
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   718
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   719
  searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   720
  adding changesets
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   721
  adding manifests
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   722
  adding file changes
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   723
  4:539e4b31b6dc
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   724
  pretxnchangegroup.forbid hook: HG_HOOKNAME=pretxnchangegroup.forbid1
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   725
  HG_HOOKTYPE=pretxnchangegroup
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   726
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   727
  HG_NODE_LAST=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   728
  HG_PENDING=$TESTTMP/b
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   729
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   730
  HG_TXNID=TXN:$ID$
41896
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   731
  HG_TXNNAME=pull
94faa2e84094 transaction: include txnname in the hookargs dictionary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41733
diff changeset
   732
  file:/*/$TESTTMP/a (glob)
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   733
  HG_URL=file:$TESTTMP/a
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   734
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   735
  transaction abort!
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   736
  rollback completed
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   737
  abort: pretxnchangegroup.forbid1 hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   738
  [255]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   739
  $ hg -q tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
   740
  3:07f3376c1e65
1736
50de0887bbcd add preoutgoing and outgoing hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1734
diff changeset
   741
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   742
outgoing hooks can see env vars
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   743
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   744
  $ rm .hg/hgrc
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   745
  $ cat > ../a/.hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   746
  > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   747
  > preoutgoing = sh -c "printenv.py --line preoutgoing"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   748
  > outgoing = sh -c "printenv.py --line outgoing"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   749
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   750
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   751
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   752
  searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   753
  preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   754
  HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   755
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   756
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   757
  outgoing hook: HG_HOOKNAME=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   758
  HG_HOOKTYPE=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   759
  HG_NODE=539e4b31b6dc99b3cfbaa6b53cbc1c1f9a1e3a10
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   760
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   761
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   762
  adding changesets
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   763
  adding manifests
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   764
  adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41896
diff changeset
   765
  adding remote bookmark quux
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   766
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34452
diff changeset
   767
  new changesets 539e4b31b6dc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   768
  (run 'hg update' to get a working copy)
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   769
  $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 13439
diff changeset
   770
  repository tip rolled back to revision 3 (undo pull)
1736
50de0887bbcd add preoutgoing and outgoing hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1734
diff changeset
   771
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   772
preoutgoing hook can prevent outgoing changes
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   773
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   774
  $ cat >> ../a/.hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   775
  > preoutgoing.forbid = sh -c "printenv.py --line preoutgoing.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   776
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   777
  $ hg pull ../a
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   778
  pulling from ../a
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 13405
diff changeset
   779
  searching for changes
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   780
  preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   781
  HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   782
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   783
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   784
  preoutgoing.forbid hook: HG_HOOKNAME=preoutgoing.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   785
  HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   786
  HG_SOURCE=pull
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   787
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   788
  abort: preoutgoing.forbid hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   789
  [255]
1736
50de0887bbcd add preoutgoing and outgoing hooks.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1734
diff changeset
   790
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   791
outgoing hooks work for local clones
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   792
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   793
  $ cd ..
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   794
  $ cat > a/.hg/hgrc <<EOF
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   795
  > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   796
  > preoutgoing = sh -c "printenv.py --line preoutgoing"
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   797
  > outgoing = sh -c "printenv.py --line outgoing"
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   798
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   799
  $ hg clone a c
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   800
  preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   801
  HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   802
  HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   803
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   804
  outgoing hook: HG_HOOKNAME=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   805
  HG_HOOKTYPE=outgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   806
  HG_NODE=0000000000000000000000000000000000000000
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   807
  HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   808
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   809
  updating to branch default
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   810
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   811
  $ rm -rf c
8907
e9ef409e6399 Add (pre)outgoing hooks for local clones.
Fred Wulff <frew@cs.stanford.edu>
parents: 4659
diff changeset
   812
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   813
preoutgoing hook can prevent outgoing changes for local clones
8907
e9ef409e6399 Add (pre)outgoing hooks for local clones.
Fred Wulff <frew@cs.stanford.edu>
parents: 4659
diff changeset
   814
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   815
  $ cat >> a/.hg/hgrc <<EOF
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   816
  > preoutgoing.forbid = sh -c "printenv.py --line preoutgoing.forbid 1"
30234
34a5f6c66bc5 tests: invoke printenv.py via sh -c for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 29954
diff changeset
   817
  > EOF
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   818
  $ hg clone a zzz
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   819
  preoutgoing hook: HG_HOOKNAME=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   820
  HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   821
  HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   822
  
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   823
  preoutgoing.forbid hook: HG_HOOKNAME=preoutgoing.forbid
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   824
  HG_HOOKTYPE=preoutgoing
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   825
  HG_SOURCE=clone
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
   826
  
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   827
  abort: preoutgoing.forbid hook exited with status 1
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   828
  [255]
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   829
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   830
  $ cd "$TESTTMP/b"
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   831
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   832
  $ cat > hooktests.py <<EOF
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 33261
diff changeset
   833
  > from __future__ import print_function
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
   834
  > from mercurial import (
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
   835
  >     error,
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
   836
  >     pycompat,
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
   837
  > )
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   838
  > 
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   839
  > uncallable = 0
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   840
  > 
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
   841
  > def printargs(ui, args):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
   842
  >     a = list(pycompat.byteskwargs(args).items())
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   843
  >     a.sort()
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
   844
  >     ui.write(b'hook args:\n')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   845
  >     for k, v in a:
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
   846
  >        ui.write(b'  %s %s\n' % (k, v))
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   847
  > 
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
   848
  > def passhook(ui, repo, **args):
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
   849
  >     printargs(ui, args)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   850
  > 
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
   851
  > def failhook(ui, repo, **args):
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
   852
  >     printargs(ui, args)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   853
  >     return True
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   854
  > 
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   855
  > class LocalException(Exception):
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   856
  >     pass
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   857
  > 
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   858
  > def raisehook(**args):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
   859
  >     raise LocalException('exception from hook')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   860
  > 
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   861
  > def aborthook(**args):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
   862
  >     raise error.Abort(b'raise abort from hook')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   863
  > 
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   864
  > def brokenhook(**args):
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   865
  >     return 1 + {}
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   866
  > 
14601
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
   867
  > def verbosehook(ui, **args):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
   868
  >     ui.note(b'verbose output from hook\n')
14601
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
   869
  > 
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
   870
  > def printtags(ui, repo, **args):
37753
f450a3be62ec tests: manually print list in test-hook.t
Augie Fackler <augie@google.com>
parents: 37415
diff changeset
   871
  >     ui.write(b'[%s]\n' % b', '.join(sorted(repo.tags())))
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
   872
  > 
41733
d7ce1ea7a5f2 tests: define class in modern style to avoid check-code.py error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 41639
diff changeset
   873
  > class container(object):
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   874
  >     unreachable = 1
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   875
  > EOF
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   876
40205
89ba51c3e4f1 tests: use NO_CHECK_EOF for fragments having intentional error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 37754
diff changeset
   877
  $ cat > syntaxerror.py << NO_CHECK_EOF
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   878
  > (foo
40205
89ba51c3e4f1 tests: use NO_CHECK_EOF for fragments having intentional error
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 37754
diff changeset
   879
  > NO_CHECK_EOF
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   880
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   881
test python hooks
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   882
16964
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   883
#if windows
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   884
  $ PYTHONPATH="$TESTTMP/b;$PYTHONPATH"
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   885
#else
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   886
  $ PYTHONPATH="$TESTTMP/b:$PYTHONPATH"
eecaeeca2106 test-hook: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16699
diff changeset
   887
#endif
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   888
  $ export PYTHONPATH
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   889
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   890
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   891
  $ echo 'preoutgoing.broken = python:hooktests.brokenhook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   892
  $ hg pull ../a 2>&1 | grep 'raised an exception'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   893
  error: preoutgoing.broken hook raised an exception: unsupported operand type(s) for +: 'int' and 'dict'
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   894
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   895
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   896
  $ echo 'preoutgoing.raise = python:hooktests.raisehook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   897
  $ hg pull ../a 2>&1 | grep 'raised an exception'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   898
  error: preoutgoing.raise hook raised an exception: exception from hook
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   899
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   900
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   901
  $ echo 'preoutgoing.abort = python:hooktests.aborthook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   902
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   903
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   904
  searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   905
  error: preoutgoing.abort hook failed: raise abort from hook
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   906
  abort: raise abort from hook
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   907
  [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   908
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   909
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   910
  $ echo 'preoutgoing.fail = python:hooktests.failhook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   911
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   912
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   913
  searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   914
  hook args:
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   915
    hooktype preoutgoing
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   916
    source pull
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   917
  abort: preoutgoing.fail hook failed
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   918
  [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   919
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   920
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   921
  $ echo 'preoutgoing.uncallable = python:hooktests.uncallable' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   922
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   923
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   924
  searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
   925
  abort: preoutgoing.uncallable hook is invalid: "hooktests.uncallable" is not callable
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   926
  [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   927
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   928
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   929
  $ echo 'preoutgoing.nohook = python:hooktests.nohook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   930
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   931
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   932
  searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
   933
  abort: preoutgoing.nohook hook is invalid: "hooktests.nohook" is not defined
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   934
  [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   935
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   936
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   937
  $ echo 'preoutgoing.nomodule = python:nomodule' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   938
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   939
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   940
  searching for changes
28106
cedbe8723d99 hook: even fewer parentheses for load errors
Siddharth Agarwal <sid0@fb.com>
parents: 28080
diff changeset
   941
  abort: preoutgoing.nomodule hook is invalid: "nomodule" not in a module
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   942
  [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   943
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   944
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   945
  $ echo 'preoutgoing.badmodule = python:nomodule.nowhere' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   946
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   947
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   948
  searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
   949
  abort: preoutgoing.badmodule hook is invalid: import of "nomodule" failed
28080
37b818cad146 hook: for python hook ImportErrors, add note to run with --traceback
Siddharth Agarwal <sid0@fb.com>
parents: 28079
diff changeset
   950
  (run with --traceback for stack trace)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   951
  [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   952
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   953
  $ echo '[hooks]' > ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   954
  $ echo 'preoutgoing.unreachable = python:hooktests.container.unreachable' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   955
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   956
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   957
  searching for changes
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
   958
  abort: preoutgoing.unreachable hook is invalid: import of "hooktests.container" failed
28080
37b818cad146 hook: for python hook ImportErrors, add note to run with --traceback
Siddharth Agarwal <sid0@fb.com>
parents: 28079
diff changeset
   959
  (run with --traceback for stack trace)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
   960
  [255]
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
   961
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   962
  $ echo '[hooks]' > ../a/.hg/hgrc
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   963
  $ echo 'preoutgoing.syntaxerror = python:syntaxerror.syntaxerror' >> ../a/.hg/hgrc
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   964
  $ hg pull ../a
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   965
  pulling from ../a
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   966
  searching for changes
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   967
  abort: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   968
  (run with --traceback for stack trace)
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   969
  [255]
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   970
28444
12fdf49fa4dd hook: filter out unstable output in tests
Siddharth Agarwal <sid0@fb.com>
parents: 28109
diff changeset
   971
The second egrep is to filter out lines like '    ^', which are slightly
12fdf49fa4dd hook: filter out unstable output in tests
Siddharth Agarwal <sid0@fb.com>
parents: 28109
diff changeset
   972
different between Python 2.6 and Python 2.7.
12fdf49fa4dd hook: filter out unstable output in tests
Siddharth Agarwal <sid0@fb.com>
parents: 28109
diff changeset
   973
  $ hg pull ../a --traceback 2>&1 | egrep -v '^( +File|    [_a-zA-Z*(])' | egrep -v '^( )+(\^)?$'
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   974
  pulling from ../a
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   975
  searching for changes
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   976
  exception from first failed import attempt:
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   977
  Traceback (most recent call last):
28737
a3a01194a337 pypy: fix overspecific test checks
Maciej Fijalkowski <fijall@gmail.com>
parents: 28444
diff changeset
   978
  SyntaxError: * (glob)
28109
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   979
  exception from second failed import attempt:
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   980
  Traceback (most recent call last):
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   981
  ImportError: No module named hgext_syntaxerror
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   982
  Traceback (most recent call last):
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   983
  HookLoadError: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   984
  abort: preoutgoing.syntaxerror hook is invalid: import of "syntaxerror" failed
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   985
b892e424f88c hook: don't crash on syntax errors in python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28108
diff changeset
   986
  $ echo '[hooks]' > ../a/.hg/hgrc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   987
  $ echo 'preoutgoing.pass = python:hooktests.passhook' >> ../a/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   988
  $ hg pull ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   989
  pulling from ../a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   990
  searching for changes
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   991
  hook args:
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   992
    hooktype preoutgoing
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   993
    source pull
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   994
  adding changesets
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   995
  adding manifests
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   996
  adding file changes
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41896
diff changeset
   997
  adding remote bookmark quux
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
   998
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 34452
diff changeset
   999
  new changesets 539e4b31b6dc
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1000
  (run 'hg update' to get a working copy)
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
  1001
28107
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1002
post- python hooks that fail to *run* don't cause an abort
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1003
  $ rm ../a/.hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1004
  $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1005
  $ echo 'post-pull.broken = python:hooktests.brokenhook' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1006
  $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1007
  pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1008
  searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1009
  no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1010
  error: post-pull.broken hook raised an exception: unsupported operand type(s) for +: 'int' and 'dict'
28108
2a71d9483199 hook: for python hook exceptions, add note to run with --traceback
Siddharth Agarwal <sid0@fb.com>
parents: 28107
diff changeset
  1011
  (run with --traceback for stack trace)
28107
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1012
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1013
but post- python hooks that fail to *load* do
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1014
  $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1015
  $ echo 'post-pull.nomodule = python:nomodule' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1016
  $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1017
  pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1018
  searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1019
  no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1020
  abort: post-pull.nomodule hook is invalid: "nomodule" not in a module
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1021
  [255]
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1022
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1023
  $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1024
  $ echo 'post-pull.badmodule = python:nomodule.nowhere' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1025
  $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1026
  pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1027
  searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1028
  no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1029
  abort: post-pull.badmodule hook is invalid: import of "nomodule" failed
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1030
  (run with --traceback for stack trace)
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1031
  [255]
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1032
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1033
  $ echo '[hooks]' > .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1034
  $ echo 'post-pull.nohook = python:hooktests.nohook' >> .hg/hgrc
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1035
  $ hg pull ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1036
  pulling from ../a
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1037
  searching for changes
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1038
  no changes found
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1039
  abort: post-pull.nohook hook is invalid: "hooktests.nohook" is not defined
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1040
  [255]
88e309a0c133 hook: add tests for failing post- python hooks
Siddharth Agarwal <sid0@fb.com>
parents: 28106
diff changeset
  1041
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
  1042
make sure --traceback works
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
  1043
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1044
  $ echo '[hooks]' > .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1045
  $ echo 'commit.abort = python:hooktests.aborthook' >> .hg/hgrc
2155
ff255b41b4aa support hooks written in python.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 1933
diff changeset
  1046
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1047
  $ echo aa > a
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1048
  $ hg --traceback commit -d '0 0' -ma 2>&1 | grep '^Traceback'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1049
  Traceback (most recent call last):
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
  1050
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1051
  $ cd ..
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1052
  $ hg init c
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1053
  $ cd c
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
  1054
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1055
  $ cat > hookext.py <<EOF
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
  1056
  > def autohook(ui, **args):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
  1057
  >     ui.write(b'Automatically installed hook\n')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1058
  > 
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1059
  > def reposetup(ui, repo):
37754
9bbb13c0f982 tests: port inline extensions in test-hook.t to py3
Augie Fackler <augie@google.com>
parents: 37753
diff changeset
  1060
  >     repo.ui.setconfig(b"hooks", b"commit.auto", autohook)
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1061
  > EOF
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1062
  $ echo '[extensions]' >> .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1063
  $ echo 'hookext = hookext.py' >> .hg/hgrc
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
  1064
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1065
  $ touch foo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1066
  $ hg add foo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1067
  $ hg ci -d '0 0' -m 'add foo'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1068
  Automatically installed hook
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1069
  $ echo >> foo
11794
80c63b2a29a8 tests: remove useless sed in test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11793
diff changeset
  1070
  $ hg ci --debug -d '0 0' -m 'change foo'
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23426
diff changeset
  1071
  committing files:
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1072
  foo
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23426
diff changeset
  1073
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23426
diff changeset
  1074
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31767
diff changeset
  1075
  updating the branch cache
27192
a01d3d32b53a commands: make commit acquire locks before processing (issue4368)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26861
diff changeset
  1076
  committed changeset 1:52998019f6252a2b893452765fcb0a47351a5708
20548
5bd6a9fec103 hooks: for python hooks, consistently use __name__ etc as name, not the repr
Mads Kiilerich <madski@unity3d.com>
parents: 19011
diff changeset
  1077
  calling hook commit.auto: hgext_hookext.autohook
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1078
  Automatically installed hook
4070
961ccb615cf7 Handle functions as the value of a hooks.<name> config variable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2673
diff changeset
  1079
11794
80c63b2a29a8 tests: remove useless sed in test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11793
diff changeset
  1080
  $ hg showconfig hooks
12376
97ffc68f71d3 tests: add glob matching for unified tests
Brodie Rao <brodie@bitheap.org>
parents: 12375
diff changeset
  1081
  hooks.commit.auto=<function autohook at *> (glob)
4085
719488a98ebe Fix hg showconfig traceback with values that aren't strings
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4070
diff changeset
  1082
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
  1083
test python hook configured with python:[file]:[hook] syntax
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1084
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1085
  $ cd ..
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1086
  $ mkdir d
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1087
  $ cd d
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1088
  $ hg init repo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1089
  $ mkdir hooks
9014
87c05a78e588 test python hook configured with python:[file]:[hook] syntax
Henri Wiechers <hwiechers@gmail.com>
parents: 8907
diff changeset
  1090
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1091
  $ cd hooks
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1092
  $ cat > testhooks.py <<EOF
34452
26c879bbf4ee test-hook: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents: 34322
diff changeset
  1093
  > def testhook(ui, **args):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
  1094
  >     ui.write(b'hook works\n')
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1095
  > EOF
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1096
  $ echo '[hooks]' > ../repo/.hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1097
  $ echo "pre-commit.test = python:`pwd`/testhooks.py:testhook" >> ../repo/.hg/hgrc
9014
87c05a78e588 test python hook configured with python:[file]:[hook] syntax
Henri Wiechers <hwiechers@gmail.com>
parents: 8907
diff changeset
  1098
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1099
  $ cd ../repo
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1100
  $ hg commit -d '0 0'
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1101
  hook works
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1102
  nothing changed
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
  1103
  [1]
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1104
17217
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1105
  $ echo '[hooks]' > .hg/hgrc
17492
973c2b0b403c spelling: nonexistent
timeless@mozdev.org
parents: 17298
diff changeset
  1106
  $ echo "update.ne = python:`pwd`/nonexistent.py:testhook" >> .hg/hgrc
17217
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1107
  $ echo "pre-identify.npmd = python:`pwd`/:no_python_module_dir" >> .hg/hgrc
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1108
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1109
  $ hg up null
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1110
  loading update.ne hook failed:
41420
b6673e9bdcf6 dispatch: quote filename in IOError as well
Yuya Nishihara <yuya@tcha.org>
parents: 40205
diff changeset
  1111
  abort: $ENOENT$: '$TESTTMP/d/repo/nonexistent.py'
17217
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1112
  [255]
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1113
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1114
  $ hg id
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1115
  loading pre-identify.npmd hook failed:
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1116
  abort: No module named repo!
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1117
  [255]
1b2b727a885f hooks: print out more information when loading a python hook fails
Simon Heimberg <simohe@besonet.ch>
parents: 17183
diff changeset
  1118
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1119
  $ cd ../../b
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1120
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
  1121
make sure --traceback works on hook import failure
9014
87c05a78e588 test python hook configured with python:[file]:[hook] syntax
Henri Wiechers <hwiechers@gmail.com>
parents: 8907
diff changeset
  1122
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1123
  $ cat > importfail.py <<EOF
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1124
  > import somebogusmodule
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1125
  > # dereference something in the module to force demandimport to load it
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1126
  > somebogusmodule.whatever
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1127
  > EOF
9851
9e7b2c49d25d Make it possible to debug failed hook imports via use of --traceback
Bryan O'Sullivan <bos@serpentine.com>
parents: 9014
diff changeset
  1128
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1129
  $ echo '[hooks]' > .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1130
  $ echo 'precommit.importfail = python:importfail.whatever' >> .hg/hgrc
9851
9e7b2c49d25d Make it possible to debug failed hook imports via use of --traceback
Bryan O'Sullivan <bos@serpentine.com>
parents: 9014
diff changeset
  1131
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1132
  $ echo a >> a
17283
a4034b866f80 test-hook.t: Solaris /usr/bin/egrep do not support {4}
Mads Kiilerich <mads@kiilerich.com>
parents: 17252
diff changeset
  1133
  $ hg --traceback commit -ma 2>&1 | egrep -v '^( +File|    [a-zA-Z(])'
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1134
  exception from first failed import attempt:
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1135
  Traceback (most recent call last):
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1136
  ImportError: No module named somebogusmodule
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1137
  exception from second failed import attempt:
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1138
  Traceback (most recent call last):
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1139
  ImportError: No module named hgext_importfail
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1140
  Traceback (most recent call last):
28079
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
  1141
  HookLoadError: precommit.importfail hook is invalid: import of "importfail" failed
0c9e914029be hook: fewer parentheses for hook load errors
Siddharth Agarwal <sid0@fb.com>
parents: 27924
diff changeset
  1142
  abort: precommit.importfail hook is invalid: import of "importfail" failed
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1143
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12376
diff changeset
  1144
Issue1827: Hooks Update & Commit not completely post operation
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12376
diff changeset
  1145
24881
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
  1146
commit and update hooks should run after command completion.  The largefiles
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
  1147
use demonstrates a recursive wlock, showing the hook doesn't run until the
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
  1148
final release (and dirstate flush).
10492
0e64d814d7d0 run commit and update hooks after command completion (issue1827)
Sune Foldager <cryo@cyanite.org>
parents: 10079
diff changeset
  1149
11793
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1150
  $ echo '[hooks]' > .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1151
  $ echo 'commit = hg id' >> .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1152
  $ echo 'update = hg id' >> .hg/hgrc
a03ce716495d tests: unify test-hook
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10492
diff changeset
  1153
  $ echo bb > a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
  1154
  $ hg ci -ma
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11794
diff changeset
  1155
  223eafe2750c tip
24881
51844b8b5017 merge: run update hook after the last wlock release
Matt Harbison <matt_harbison@yahoo.com>
parents: 24827
diff changeset
  1156
  $ hg up 0 --config extensions.largefiles=
33212
fe0667cc521e tests: add fsmonitor specific output lines at enabling largefiles
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 33051
diff changeset
  1157
  The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
26752
949e8c626d19 merge: make in-memory changes visible to external update hooks
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26692
diff changeset
  1158
  cb9a9f314b8b
26028
6fbe35588433 update: wlock the repo for the whole 'hg update' command
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25744
diff changeset
  1159
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
9851
9e7b2c49d25d Make it possible to debug failed hook imports via use of --traceback
Bryan O'Sullivan <bos@serpentine.com>
parents: 9014
diff changeset
  1160
17508
57fb8c9509f4 spelling: propagated
timeless@mozdev.org
parents: 17492
diff changeset
  1161
make sure --verbose (and --quiet/--debug etc.) are propagated to the local ui
14601
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1162
that is passed to pre/post hooks
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1163
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1164
  $ echo '[hooks]' > .hg/hgrc
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1165
  $ echo 'pre-identify = python:hooktests.verbosehook' >> .hg/hgrc
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1166
  $ hg id
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1167
  cb9a9f314b8b
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1168
  $ hg id --verbose
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1169
  calling hook pre-identify: hooktests.verbosehook
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1170
  verbose output from hook
25c1f3ddd927 dispatch: propagate ui command options to the local ui (issue2523)
Idan Kamara <idankk86@gmail.com>
parents: 14164
diff changeset
  1171
  cb9a9f314b8b
15896
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1172
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1173
Ensure hooks can be prioritized
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1174
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1175
  $ echo '[hooks]' > .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1176
  $ echo 'pre-identify.a = python:hooktests.verbosehook' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1177
  $ echo 'pre-identify.b = python:hooktests.verbosehook' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1178
  $ echo 'priority.pre-identify.b = 1' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1179
  $ echo 'pre-identify.c = python:hooktests.verbosehook' >> .hg/hgrc
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1180
  $ hg id --verbose
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1181
  calling hook pre-identify.b: hooktests.verbosehook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1182
  verbose output from hook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1183
  calling hook pre-identify.a: hooktests.verbosehook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1184
  verbose output from hook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1185
  calling hook pre-identify.c: hooktests.verbosehook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1186
  verbose output from hook
30c34fde40cc hooks: prioritize run order of hooks
Matt Zuba <matt.zuba@goodwillaz.org>
parents: 15651
diff changeset
  1187
  cb9a9f314b8b
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
  1188
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
  1189
new tags must be visible in pretxncommit (issue3210)
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
  1190
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
  1191
  $ echo 'pretxncommit.printtags = python:hooktests.printtags' >> .hg/hgrc
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
  1192
  $ hg tag -f foo
37753
f450a3be62ec tests: manually print list in test-hook.t
Augie Fackler <augie@google.com>
parents: 37415
diff changeset
  1193
  [a, foo, tip]
15929
4091660dc130 tag: invalidate tag cache immediately after adding new tag (issue3210)
Mads Kiilerich <mads@kiilerich.com>
parents: 15896
diff changeset
  1194
27228
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1195
post-init hooks must not crash (issue4983)
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1196
This also creates the `to` repo for the next test block.
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1197
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1198
  $ cd ..
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1199
  $ cat << EOF >> hgrc-with-post-init-hook
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1200
  > [hooks]
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1201
  > post-init = sh -c "printenv.py --line post-init"
27228
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1202
  > EOF
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1203
  $ HGRCPATH=hgrc-with-post-init-hook hg init to
41639
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1204
  post-init hook: HG_ARGS=init to
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1205
  HG_HOOKNAME=post-init
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1206
  HG_HOOKTYPE=post-init
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1207
  HG_OPTS={'insecure': None, 'remotecmd': '', 'ssh': ''}
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1208
  HG_PATS=['to']
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1209
  HG_RESULT=0
f8443db3032e test: use `printenv.py --line` in `test-hook.t`
Boris Feld <boris.feld@octobus.net>
parents: 41420
diff changeset
  1210
  
27228
10695f8f3323 dirstate: don't write repo.currenttransaction to repo.dirstate if repo
Sietse Brouwer <sbbrouwer@gmail.com>
parents: 26861
diff changeset
  1211
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1212
new commits must be visible in pretxnchangegroup (issue3428)
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1213
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1214
  $ echo '[hooks]' >> to/.hg/hgrc
26859
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
  1215
  $ echo 'prechangegroup = hg --traceback tip' >> to/.hg/hgrc
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1216
  $ echo 'pretxnchangegroup = hg --traceback tip' >> to/.hg/hgrc
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1217
  $ echo a >> to/a
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1218
  $ hg --cwd to ci -Ama
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1219
  adding a
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1220
  $ hg clone to from
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1221
  updating to branch default
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1222
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1223
  $ echo aa >> from/a
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1224
  $ hg --cwd from ci -mb
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1225
  $ hg --cwd from push
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35264
diff changeset
  1226
  pushing to $TESTTMP/to
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1227
  searching for changes
26859
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
  1228
  changeset:   0:cb9a9f314b8b
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
  1229
  tag:         tip
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
  1230
  user:        test
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
  1231
  date:        Thu Jan 01 00:00:00 1970 +0000
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
  1232
  summary:     a
e7c618cee8df hooks: fix hooks not firing if prechangegroup was set (issue4934)
Durham Goode <durham@fb.com>
parents: 26858
diff changeset
  1233
  
16619
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1234
  adding changesets
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1235
  adding manifests
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1236
  adding file changes
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1237
  changeset:   1:9836a07b9b9d
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1238
  tag:         tip
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1239
  user:        test
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1240
  date:        Thu Jan 01 00:00:00 1970 +0000
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1241
  summary:     b
bc84a1aeaf5a changelog: ensure that nodecache is valid (issue3428)
Bryan O'Sullivan <bryano@fb.com>
parents: 16107
diff changeset
  1242
  
42897
d7304434390f changegroup: move message about added changes to transaction summary
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41896
diff changeset
  1243
  added 1 changesets with 1 changes to 1 files
27924
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1244
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1245
pretxnclose hook failure should abort the transaction
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1246
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1247
  $ hg init txnfailure
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1248
  $ cd txnfailure
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1249
  $ touch a && hg commit -Aqm a
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1250
  $ cat >> .hg/hgrc <<EOF
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1251
  > [hooks]
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1252
  > pretxnclose.error = exit 1
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1253
  > EOF
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1254
  $ hg strip -r 0 --config extensions.strip=
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1255
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1256
  saved backup bundle to * (glob)
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1257
  transaction abort!
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1258
  rollback completed
29954
769aee32fae0 strip: don't use "full" and "partial" to describe bundles
Martin von Zweigbergk <martinvonz@google.com>
parents: 29780
diff changeset
  1259
  strip failed, backup bundle stored in * (glob)
27924
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1260
  abort: pretxnclose.error hook exited with status 1
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1261
  [255]
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1262
  $ hg recover
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1263
  no interrupted transaction available
24361fb68cba transaction: abort transaction during hook exception
Durham Goode <durham@fb.com>
parents: 27739
diff changeset
  1264
  [1]
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1265
  $ cd ..
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1266
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1267
check whether HG_PENDING makes pending changes only in related
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1268
repositories visible to an external hook.
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1269
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1270
(emulate a transaction running concurrently by copied
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1271
.hg/store/00changelog.i.a in subsequent test)
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1272
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1273
  $ cat > $TESTTMP/savepending.sh <<EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1274
  > cp .hg/store/00changelog.i.a  .hg/store/00changelog.i.a.saved
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1275
  > exit 1 # to avoid adding new revision for subsequent tests
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1276
  > EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1277
  $ cd a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1278
  $ hg tip -q
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1279
  4:539e4b31b6dc
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1280
  $ hg --config hooks.pretxnclose="sh $TESTTMP/savepending.sh" commit -m "invisible"
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1281
  transaction abort!
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1282
  rollback completed
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1283
  abort: pretxnclose hook exited with status 1
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1284
  [255]
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1285
  $ cp .hg/store/00changelog.i.a.saved .hg/store/00changelog.i.a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1286
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1287
(check (in)visibility of new changeset while transaction running in
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1288
repo)
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1289
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1290
  $ cat > $TESTTMP/checkpending.sh <<EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1291
  > echo '@a'
31767
6c800688afe1 tests: quote paths in shell script hooks
Matt Harbison <matt_harbison@yahoo.com>
parents: 31747
diff changeset
  1292
  > hg -R "$TESTTMP/a" tip -q
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1293
  > echo '@a/nested'
31767
6c800688afe1 tests: quote paths in shell script hooks
Matt Harbison <matt_harbison@yahoo.com>
parents: 31747
diff changeset
  1294
  > hg -R "$TESTTMP/a/nested" tip -q
31054
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1295
  > exit 1 # to avoid adding new revision for subsequent tests
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1296
  > EOF
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1297
  $ hg init nested
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1298
  $ cd nested
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1299
  $ echo a > a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1300
  $ hg add a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1301
  $ hg --config hooks.pretxnclose="sh $TESTTMP/checkpending.sh" commit -m '#0'
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1302
  @a
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1303
  4:539e4b31b6dc
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1304
  @a/nested
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1305
  0:bf5e395ced2c
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1306
  transaction abort!
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1307
  rollback completed
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1308
  abort: pretxnclose hook exited with status 1
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1309
  [255]
59e69ed81776 localrepo: check HG_PENDING strictly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30234
diff changeset
  1310
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1311
Hook from untrusted hgrc are reported as failure
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1312
================================================
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1313
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1314
  $ cat << EOF > $TESTTMP/untrusted.py
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1315
  > from mercurial import scmutil, util
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1316
  > def uisetup(ui):
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1317
  >     class untrustedui(ui.__class__):
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1318
  >         def _trusted(self, fp, f):
36109
361276a36d49 py3: use bytes literals for test extension
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35811
diff changeset
  1319
  >             if util.normpath(fp.name).endswith(b'untrusted/.hg/hgrc'):
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1320
  >                 return False
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1321
  >             return super(untrustedui, self)._trusted(fp, f)
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1322
  >     ui.__class__ = untrustedui
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1323
  > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1324
  $ cat << EOF >> $HGRCPATH
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1325
  > [extensions]
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1326
  > untrusted=$TESTTMP/untrusted.py
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1327
  > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1328
  $ hg init untrusted
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1329
  $ cd untrusted
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1330
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1331
Non-blocking hook
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1332
-----------------
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1333
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1334
  $ cat << EOF >> .hg/hgrc
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1335
  > [hooks]
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1336
  > txnclose.testing=echo txnclose hook called
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1337
  > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1338
  $ touch a && hg commit -Aqm a
31743
f610c3220eec hook: fix name used in untrusted message
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31741
diff changeset
  1339
  warning: untrusted hook txnclose.testing not executed
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1340
  $ hg log
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1341
  changeset:   0:3903775176ed
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1342
  tag:         tip
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1343
  user:        test
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1344
  date:        Thu Jan 01 00:00:00 1970 +0000
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1345
  summary:     a
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1346
  
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1347
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1348
Non-blocking hook
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1349
-----------------
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1350
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1351
  $ cat << EOF >> .hg/hgrc
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1352
  > [hooks]
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1353
  > pretxnclose.testing=echo pre-txnclose hook called
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1354
  > EOF
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1355
  $ touch b && hg commit -Aqm a
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1356
  transaction abort!
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1357
  rollback completed
31743
f610c3220eec hook: fix name used in untrusted message
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 31741
diff changeset
  1358
  abort: untrusted hook pretxnclose.testing not executed
28938
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1359
  (see 'hg help config.trusted')
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1360
  [255]
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1361
  $ hg log
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1362
  changeset:   0:3903775176ed
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1363
  tag:         tip
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1364
  user:        test
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1365
  date:        Thu Jan 01 00:00:00 1970 +0000
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1366
  summary:     a
ea1fec3e9aba hook: report untrusted hooks as failure (issue5110) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 28737
diff changeset
  1367