tests/test-notify-changegroup.t
author Yuya Nishihara <yuya@tcha.org>
Mon, 12 Mar 2018 20:45:10 +0900
changeset 37064 434e520adb8c
parent 35393 4441705b7111
child 39480 89630d0b3e23
permissions -rw-r--r--
annotate: do not construct attr.s object per line while computing history Unfortunately, good abstraction has a cost. It's way slower to construct an annotateline() object than creating a plain tuple or a list. This patch changes the internal data structure from row-based to columnar, so the decorate() function can be instant (i.e. no Python in hot loop.) For code readability, the outermost tuple is switched to an attr.s object instead. (original, row-based attr.s) $ hg annot mercurial/commands.py --time > /dev/null time: real 11.470 secs (user 11.400+0.000 sys 0.070+0.000) $ hg annot mercurial/commands.py --time --line-number > /dev/null time: real 39.590 secs (user 39.500+0.000 sys 0.080+0.000) (this patch, columnar) $ hg annot mercurial/commands.py --time > /dev/null time: real 11.780 secs (user 11.710+0.000 sys 0.070+0.000) $ hg annot mercurial/commands.py --time --line-number > /dev/null time: real 12.240 secs (user 12.170+0.000 sys 0.090+0.000) (cf. 4.3.3, row-based tuple) $ hg annot mercurial/commands.py --time --line-number > /dev/null time: real 19.540 secs (user 19.460+0.000 sys 0.080+0.000)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7043
b714aac1f7b3 tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff changeset
     1
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     2
  $ cat <<EOF >> $HGRCPATH
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     3
  > [extensions]
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     4
  > notify=
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     5
  > 
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     6
  > [hooks]
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     7
  > changegroup.notify = python:hgext.notify.hook
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     8
  > 
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
     9
  > [notify]
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    10
  > sources = push
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    11
  > diffstat = False
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    12
  > maxsubject = 10
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    13
  > 
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    14
  > [usersubs]
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    15
  > foo@bar = *
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    16
  > 
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    17
  > [reposubs]
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    18
  > * = baz
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    19
  > EOF
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    20
  $ hg init a
7043
b714aac1f7b3 tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff changeset
    21
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    22
clone
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    23
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    24
  $ hg --traceback clone a b
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    25
  updating to branch default
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    26
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    27
  $ echo a > b/a
7043
b714aac1f7b3 tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff changeset
    28
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    29
commit
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    30
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    31
  $ hg --traceback --cwd b commit -Ama
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    32
  adding a
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    33
  $ echo a >> b/a
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    34
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    35
commit
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    36
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    37
  $ hg --traceback --cwd b commit -Amb
7043
b714aac1f7b3 tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff changeset
    38
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    39
push
7043
b714aac1f7b3 tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff changeset
    40
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    41
  $ hg --traceback --cwd b push ../a 2>&1 |
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
    42
  >     $PYTHON -c 'from __future__ import print_function ; import sys,re; print(re.sub("\n\t", " ", sys.stdin.read()), end="")'
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    43
  pushing to ../a
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    44
  searching for changes
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    45
  adding changesets
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    46
  adding manifests
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    47
  adding file changes
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    48
  added 2 changesets with 2 changes to 1 files
34310
2d0c306a88c2 mail: encode long unicode lines in emails properly (issue5687)
Igor Ippolitov <iippolitov@gmail.com>
parents: 33721
diff changeset
    49
  MIME-Version: 1.0
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    50
  Content-Type: text/plain; charset="us-ascii"
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    51
  Content-Transfer-Encoding: 7bit
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    52
  Date: * (glob)
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    53
  Subject: * (glob)
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    54
  From: test
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    55
  X-Hg-Notification: changeset cb9a9f314b8b
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    56
  Message-Id: <*> (glob)
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    57
  To: baz, foo@bar
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    58
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    59
  changeset cb9a9f314b8b in $TESTTMP/a
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12474
diff changeset
    60
  details: $TESTTMP/a?cmd=changeset;node=cb9a9f314b8b
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    61
  summary: a
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    62
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    63
  changeset ba677d0156c1 in $TESTTMP/a
12640
6cc4b14fb76b tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents: 12474
diff changeset
    64
  details: $TESTTMP/a?cmd=changeset;node=ba677d0156c1
12474
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    65
  summary: b
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    66
  
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    67
  diffs (6 lines):
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    68
  
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    69
  diff -r 000000000000 -r ba677d0156c1 a
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    70
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    71
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    72
  @@ -0,0 +1,2 @@
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    73
  +a
f213af8211cc tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents: 11671
diff changeset
    74
  +a
14868
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    75
  $ hg --cwd a rollback
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    76
  repository tip rolled back to revision -1 (undo push)
7043
b714aac1f7b3 tests: add test for notify extension as changegroup hook
Dennis Schoen <ds@1d10t.de>
parents:
diff changeset
    77
14868
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    78
unbundle with unrelated source
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    79
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    80
  $ hg --cwd b bundle ../test.hg ../a
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    81
  searching for changes
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    82
  2 changesets found
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    83
  $ hg --cwd a unbundle ../test.hg
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    84
  adding changesets
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    85
  adding manifests
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    86
  adding file changes
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    87
  added 2 changesets with 2 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: 34310
diff changeset
    88
  new changesets cb9a9f314b8b:ba677d0156c1
14868
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    89
  (run 'hg update' to get a working copy)
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    90
  $ hg --cwd a rollback
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    91
  repository tip rolled back to revision -1 (undo unbundle)
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    92
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    93
unbundle with correct source
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    94
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    95
  $ hg --config notify.sources=unbundle --cwd a unbundle ../test.hg 2>&1 |
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
    96
  >     $PYTHON -c 'from __future__ import print_function ; import sys,re; print(re.sub("\n\t", " ", sys.stdin.read()), end="")'
14868
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    97
  adding changesets
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    98
  adding manifests
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
    99
  adding file changes
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   100
  added 2 changesets with 2 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: 34310
diff changeset
   101
  new changesets cb9a9f314b8b:ba677d0156c1
34310
2d0c306a88c2 mail: encode long unicode lines in emails properly (issue5687)
Igor Ippolitov <iippolitov@gmail.com>
parents: 33721
diff changeset
   102
  MIME-Version: 1.0
14868
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   103
  Content-Type: text/plain; charset="us-ascii"
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   104
  Content-Transfer-Encoding: 7bit
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   105
  Date: * (glob)
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   106
  Subject: * (glob)
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   107
  From: test
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   108
  X-Hg-Notification: changeset cb9a9f314b8b
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   109
  Message-Id: <*> (glob)
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   110
  To: baz, foo@bar
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   111
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   112
  changeset cb9a9f314b8b in $TESTTMP/a
14868
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   113
  details: $TESTTMP/a?cmd=changeset;node=cb9a9f314b8b
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   114
  summary: a
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   115
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   116
  changeset ba677d0156c1 in $TESTTMP/a
14868
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   117
  details: $TESTTMP/a?cmd=changeset;node=ba677d0156c1
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   118
  summary: b
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   119
  
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   120
  diffs (6 lines):
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   121
  
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   122
  diff -r 000000000000 -r ba677d0156c1 a
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   123
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   124
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   125
  @@ -0,0 +1,2 @@
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   126
  +a
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   127
  +a
cdd6ecfd3bcd test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents: 12640
diff changeset
   128
  (run 'hg update' to get a working copy)
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   129
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   130
Check that using the first committer as the author of a changeset works:
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   131
Check that the config option works.
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   132
Check that the first committer is indeed used for "From:".
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   133
Check that the merge user is NOT used for "From:"
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   134
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   135
Create new file
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   136
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   137
  $ echo a > b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   138
  $ echo b >> b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   139
  $ echo c >> b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   140
  $ hg --traceback --cwd b commit -Amnewfile -u committer_1
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   141
  adding b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   142
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   143
commit as one user
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   144
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   145
  $ echo x > b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   146
  $ echo b >> b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   147
  $ echo c >> b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   148
  $ hg --traceback --cwd b commit -Amx -u committer_2
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   149
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   150
commit as other user, change file so we can do an (automatic) merge
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   151
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   152
  $ hg --cwd b up 2
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   153
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   154
  $ echo a > b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   155
  $ echo b >> b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   156
  $ echo y >> b/b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   157
  $ hg --traceback --cwd b commit -Amy -u committer_3
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   158
  created new head
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   159
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   160
merge as a different user
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   161
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   162
  $ hg --cwd b merge --config notify.fromauthor=True
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   163
  merging b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   164
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   165
  (branch merge, don't forget to commit)
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   166
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   167
  $ hg --traceback --cwd b commit -Am "merged"
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   168
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   169
push
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   170
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   171
  $ hg --traceback --cwd b --config notify.fromauthor=True push ../a 2>&1 |
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 22947
diff changeset
   172
  >     $PYTHON -c 'from __future__ import print_function ; import sys,re; print(re.sub("\n\t", " ", sys.stdin.read()), end="")'
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   173
  pushing to ../a
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   174
  searching for changes
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   175
  adding changesets
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   176
  adding manifests
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   177
  adding file changes
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   178
  added 4 changesets with 4 changes to 1 files
34310
2d0c306a88c2 mail: encode long unicode lines in emails properly (issue5687)
Igor Ippolitov <iippolitov@gmail.com>
parents: 33721
diff changeset
   179
  MIME-Version: 1.0
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   180
  Content-Type: text/plain; charset="us-ascii"
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   181
  Content-Transfer-Encoding: 7bit
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   182
  Date: * (glob)
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   183
  Subject: * (glob)
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   184
  From: committer_1
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   185
  X-Hg-Notification: changeset 84e487dddc58
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   186
  Message-Id: <*> (glob)
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   187
  To: baz, foo@bar
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   188
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   189
  changeset 84e487dddc58 in $TESTTMP/a
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   190
  details: $TESTTMP/a?cmd=changeset;node=84e487dddc58
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   191
  summary: newfile
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   192
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   193
  changeset b29c7a2b6b0c in $TESTTMP/a
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   194
  details: $TESTTMP/a?cmd=changeset;node=b29c7a2b6b0c
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   195
  summary: x
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   196
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   197
  changeset 0957c7d64886 in $TESTTMP/a
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   198
  details: $TESTTMP/a?cmd=changeset;node=0957c7d64886
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   199
  summary: y
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   200
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   201
  changeset 485b4e6b0249 in $TESTTMP/a
15654
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   202
  details: $TESTTMP/a?cmd=changeset;node=485b4e6b0249
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   203
  summary: merged
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   204
  
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   205
  diffs (7 lines):
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   206
  
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   207
  diff -r ba677d0156c1 -r 485b4e6b0249 b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   208
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   209
  +++ b/b	Thu Jan 01 00:00:00 1970 +0000
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   210
  @@ -0,0 +1,3 @@
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   211
  +x
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   212
  +b
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   213
  +y
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   214
  $ hg --cwd a rollback
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   215
  repository tip rolled back to revision 1 (undo push)
2a7fa7c641d8 notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents: 15447
diff changeset
   216