tests/test-notify-changegroup.t
author Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
Tue, 02 Jul 2019 12:59:58 -0400
changeset 42621 99ebde4fec99
parent 39707 5abc47d4ca6b
child 43381 9a43cef9ec59
permissions -rw-r--r--
commit: improve the files field of changelog for merges Currently, the files list of merge commits repeats all the deletions (either actual deletions, or files that got renamed) that happened between base and p2 of the merge. If p2 is the main branch, the list can easily be much bigger than the change being merged. This results in various problems worth improving: - changelog is bigger than necessary - `hg log directory` lists many unrelated merge commits, and `hg log -v -r commit` frequently fills multiple screens worth of files - it possibly slows down adjustlinkrev, by forcing it to read more manifests, and that function can certainly be a bottleneck - the server side of pulls can waste a lot of time simply opening the filelogs for pointless files (the constant factors for opening even a tiny filelog is apparently pretty bad) So stop listing such files as described in the code. Impacted merge commits and their descendants get a different hash than they would have without this. This doesn't seem problematic, except for convert. The previous commit helped with that in the hg->hg case (but if you do svn->hg twice from scratch, hashes can still change). The rest of the description is numbers. I don't have much to report, because recreating the files list of existing repositories is not easy: - debugupgradeformat and bundle/unbundle don't recreate the list - export/import tends to choke quickly applying patches or on description that contain diffs, - merge commits from the convert extension don't have the right files list for reasons orthogonal to the current commit - replaying the merge with hg update/hg merge/hg revert --all/hg commit can end up failing in hg revert - I wasn't sure that using debugsetparents + debugrebuilddirstate would really build the right thing I measured commit time before and after this change, in a case with no files filtered out, several files filtered out (no difference) and 5k files filtered out (+1% time). Recreating the 100 more recent merges in a private repo, the concatenated uncompressed files lists goes from 1.12MB to 0.52MB. Excluding 3 merges that are not representative, then the size goes from 570k to 15k. I converted part of mozilla-central, and observed file list shrinking quite a bit too, starting at the very first merge, 733641d9feaf, going from 550 files to 10 files (although they have relatively few merges, so they probably wouldn't care). Differential Revision: https://phab.mercurial-scm.org/D6613
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 |
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39480
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
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
    88
  new changesets cb9a9f314b8b:ba677d0156c1 (2 drafts)
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 |
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39480
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
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 35393
diff changeset
   101
  new changesets cb9a9f314b8b:ba677d0156c1 (2 drafts)
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 |
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39480
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