Mercurial > hg
annotate tests/test-notify-changegroup.t @ 24461:05ccfe6763f1
osutil: use getdirentriesattr on OS X if possible
This is a significant win for large repositories on OS X, especially with a
cold cache. Unfortunately we need to keep the lstat-based implementation around
for two reasons:
- Not all filesystems support this call.
- There's an edge case in which it's best to fall back to avoid a retry loop.
More about this in the comments.
The below tests are all performed on a Mac with an SSD running OS X 10.9, on a
repository with over 200k files. The results are best of 5 with simulated
best-effort conditions.
The gains with a hot cache are pretty impressive: 'hg status' goes from 5.18
seconds to 3.79 seconds.
However, a repository that large will probably already be using something like
hgwatchman [1], which helps much more (for this repo, 'hg status' with
hgwatchman is approximately 1 second). Where this really helps is when the
cache is cold [2]: hg status goes from 31.0 seconds to 9.66.
See http://lists.apple.com/archives/filesystem-dev/2014/Dec/msg00002.html for
some more discussion about this function.
This is based on a patch by Sean Farley <sean@farley.io>.
[1] https://bitbucket.org/facebook/hgwatchman
[2] There appears to be no easy way to clear the file cache (aka "vnodes") on
OS X short of rebooting. purge(8) purportedly does that but in my testing had
little effect. The workaround I came up with was to assume that vnode eviction
was LRU, make sure the kern.maxvnodes sysctl is smaller than the size of the
repository, then make sure we'd always miss the cache by running 'hg status' in
another clone of the repository before running it in the test repository.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Wed, 25 Mar 2015 15:55:31 -0700 |
parents | c63a09b6b337 |
children | 24849d53697d |
rev | line source |
---|---|
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 | |
22947
c63a09b6b337
tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents:
15766
diff
changeset
|
42 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
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 |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
49 Content-Type: text/plain; charset="us-ascii" |
f213af8211cc
tests: unify test-notify-changegroup
Matt Mackall <mpm@selenic.com>
parents:
11671
diff
changeset
|
50 MIME-Version: 1.0 |
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 |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15131
diff
changeset
|
59 changeset cb9a9f314b8b in $TESTTMP/a (glob) |
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 |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15131
diff
changeset
|
63 changeset ba677d0156c1 in $TESTTMP/a (glob) |
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 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
88 (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
|
89 $ hg --cwd a rollback |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
90 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
|
91 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
92 unbundle with correct source |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
93 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
94 $ hg --config notify.sources=unbundle --cwd a unbundle ../test.hg 2>&1 | |
22947
c63a09b6b337
tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents:
15766
diff
changeset
|
95 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
96 adding changesets |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
97 adding manifests |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
98 adding file changes |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
99 added 2 changesets with 2 changes to 1 files |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
100 Content-Type: text/plain; charset="us-ascii" |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
101 MIME-Version: 1.0 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
102 Content-Transfer-Encoding: 7bit |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
103 Date: * (glob) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
104 Subject: * (glob) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
105 From: test |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
106 X-Hg-Notification: changeset cb9a9f314b8b |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
107 Message-Id: <*> (glob) |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
108 To: baz, foo@bar |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
109 |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15131
diff
changeset
|
110 changeset cb9a9f314b8b in $TESTTMP/a (glob) |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
111 details: $TESTTMP/a?cmd=changeset;node=cb9a9f314b8b |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
112 summary: a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
113 |
15447
9910f60a37ee
tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents:
15131
diff
changeset
|
114 changeset ba677d0156c1 in $TESTTMP/a (glob) |
14868
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
115 details: $TESTTMP/a?cmd=changeset;node=ba677d0156c1 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
116 summary: b |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
117 |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
118 diffs (6 lines): |
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 diff -r 000000000000 -r ba677d0156c1 a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
121 --- /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
|
122 +++ 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
|
123 @@ -0,0 +1,2 @@ |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
124 +a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
125 +a |
cdd6ecfd3bcd
test-notify-changegroup: test notifications on unbundle
Patrick Mezard <pmezard@gmail.com>
parents:
12640
diff
changeset
|
126 (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
|
127 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
128 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
|
129 Check that the config option works. |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
130 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
|
131 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
|
132 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
133 Create new file |
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 $ echo a > b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
136 $ echo b >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
137 $ echo c >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
138 $ 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
|
139 adding b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
140 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
141 commit as one user |
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 $ echo x > b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
144 $ echo b >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
145 $ echo c >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
146 $ 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
|
147 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
148 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
|
149 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
150 $ hg --cwd b up 2 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
151 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
|
152 $ echo a > b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
153 $ echo b >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
154 $ echo y >> b/b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
155 $ 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
|
156 created new head |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
157 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
158 merge as a different user |
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 $ 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
|
161 merging b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
162 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
|
163 (branch merge, don't forget to commit) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
164 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
165 $ hg --traceback --cwd b commit -Am "merged" |
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 push |
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 $ hg --traceback --cwd b --config notify.fromauthor=True push ../a 2>&1 | |
22947
c63a09b6b337
tests: use $PYTHON instead of hardcoding python
Augie Fackler <raf@durin42.com>
parents:
15766
diff
changeset
|
170 > $PYTHON -c 'import sys,re; print re.sub("\n\t", " ", sys.stdin.read()),' |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
171 pushing to ../a |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
172 searching for changes |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
173 adding changesets |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
174 adding manifests |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
175 adding file changes |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
176 added 4 changesets with 4 changes to 1 files |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
177 Content-Type: text/plain; charset="us-ascii" |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
178 MIME-Version: 1.0 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
179 Content-Transfer-Encoding: 7bit |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
180 Date: * (glob) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
181 Subject: * (glob) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
182 From: committer_1 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
183 X-Hg-Notification: changeset 84e487dddc58 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
184 Message-Id: <*> (glob) |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
185 To: baz, foo@bar |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
186 |
15766
8e1854807dc2
tests: ignore slash direction in paths in test-notify-changegroup.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15654
diff
changeset
|
187 changeset 84e487dddc58 in $TESTTMP/a (glob) |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
188 details: $TESTTMP/a?cmd=changeset;node=84e487dddc58 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
189 summary: newfile |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
190 |
15766
8e1854807dc2
tests: ignore slash direction in paths in test-notify-changegroup.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15654
diff
changeset
|
191 changeset b29c7a2b6b0c in $TESTTMP/a (glob) |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
192 details: $TESTTMP/a?cmd=changeset;node=b29c7a2b6b0c |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
193 summary: x |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
194 |
15766
8e1854807dc2
tests: ignore slash direction in paths in test-notify-changegroup.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15654
diff
changeset
|
195 changeset 0957c7d64886 in $TESTTMP/a (glob) |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
196 details: $TESTTMP/a?cmd=changeset;node=0957c7d64886 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
197 summary: y |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
198 |
15766
8e1854807dc2
tests: ignore slash direction in paths in test-notify-changegroup.t
Mads Kiilerich <mads@kiilerich.com>
parents:
15654
diff
changeset
|
199 changeset 485b4e6b0249 in $TESTTMP/a (glob) |
15654
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
200 details: $TESTTMP/a?cmd=changeset;node=485b4e6b0249 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
201 summary: merged |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
202 |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
203 diffs (7 lines): |
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 diff -r ba677d0156c1 -r 485b4e6b0249 b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
206 --- /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
|
207 +++ 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
|
208 @@ -0,0 +1,3 @@ |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
209 +x |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
210 +b |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
211 +y |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
212 $ hg --cwd a rollback |
2a7fa7c641d8
notify: change behavior of "changegroup" hook
Nikolaus Schueler <nikolaus.schueler@lantiq.com>
parents:
15447
diff
changeset
|
213 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
|
214 |