File: test-server-view.t

package info (click to toggle)
mercurial 7.2-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 46,128 kB
  • sloc: python: 214,491; ansic: 56,606; tcl: 3,715; sh: 1,879; lisp: 1,483; cpp: 864; makefile: 792; javascript: 649; xml: 36
file content (145 lines) | stat: -rw-r--r-- 3,261 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
  $ hg init test
  $ cd test
  $ hg debugbuilddag '+2'
  $ hg phase --public 0

  $ hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
  $ cat hg.pid >> $DAEMON_PIDS
  $ cd ..
  $ hg init test2
  $ cd test2
  $ hg incoming http://foo:xyzzy@localhost:$HGPORT/ -T '{desc}\n'
  comparing with http://foo:***@localhost:$HGPORT/
  r0
  r1
  $ hg incoming ../test -T '{desc}\n'
  comparing with ../test
  r0
  r1
  $ killdaemons.py

  $ cd ..
  $ hg -R test --config server.view=immutable serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
  $ cat hg.pid >> $DAEMON_PIDS
  $ hg -R test2 incoming http://foo:xyzzy@localhost:$HGPORT/ -T '{desc}\n'
  comparing with http://foo:***@localhost:$HGPORT/
  r0
  $ hg -R test2 --config server.view=immutable  incoming test -T '{desc}\n'
  comparing with test
  r0

Check same result using `experimental.extra-filter-revs`

  $ hg -R test --config experimental.extra-filter-revs='not public()' serve -p $HGPORT1 -d --pid-file=hg2.pid -E errors.log
  $ cat hg2.pid >> $DAEMON_PIDS
  $ hg -R test2 incoming http://foo:xyzzy@localhost:$HGPORT1/
  comparing with http://foo:***@localhost:$HGPORT1/
  changeset:   0:1ea73414a91b
  tag:         tip
  user:        debugbuilddag
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     r0
  
  $ hg -R test2 --config experimental.extra-filter-revs='not public()'  incoming test
  comparing with test
  changeset:   0:1ea73414a91b
  user:        debugbuilddag
  date:        Thu Jan 01 00:00:00 1970 +0000
  summary:     r0
  
  $ hg -R test --config experimental.extra-filter-revs='not public()' debugupdatecache
  $ ls -1 test/.hg/cache/
  branch2-base%89c45d2fa07e
  branch2-served
  hgtagsfnodes1
  rbc-names-v2
  rbc-revs-v2
  tags2
  tags2-served%89c45d2fa07e

cleanup

  $ cat errors.log
  $ killdaemons.py

Check the behavior is other filtered revision exists
----------------------------------------------------

add more content and complexity to the repository too

  $ hg -R test debugbuilddag '+6:branchpoint.:left+4*branchpoint.:right+5' --from-existing
  $ hg -R test phase --public 'desc("re:^r11$")'
  $ hg -R test phase --secret --force 'desc("re:^r9$")'
  $ hg -R test log -G -T '{desc} {phase}\n'
  o  r17 draft
  |
  o  r16 draft
  |
  o  r15 draft
  |
  o  r14 draft
  |
  o  r13 draft
  |
  o  r12 draft
  |
  o  r11 public
  |
  | o  r10 secret
  | |
  | o  r9 secret
  | |
  | o  r8 draft
  | |
  | o  r7 draft
  | |
  | o  r6 draft
  |/
  o  r5 public
  |
  o  r4 public
  |
  o  r3 public
  |
  o  r2 public
  |
  o  r1 public
  |
  o  r0 public
  
  $ hg -R test --config experimental.extra-filter-revs='(desc("re:^r13$") + desc("re:^r10$"))::' serve -p $HGPORT1 -d --pid-file=hg2.pid -E errors.log
  $ cat hg2.pid >> $DAEMON_PIDS
  $ hg -R test2 incoming http://foo:xyzzy@localhost:$HGPORT1/ -T '{desc}\n'
  comparing with http://foo:***@localhost:$HGPORT1/
  r0
  r1
  r2
  r3
  r4
  r5
  r6
  r7
  r8
  r11
  r12

Note that the option applies to both `test` and `test2` repositories here.

  $ hg -R test2 --config experimental.extra-filter-revs='(desc("re:^r13$") + desc("re:^r10$"))::'  incoming test -T '{desc}\n'
  comparing with test
  r0
  r1
  r2
  r3
  r4
  r5
  r6
  r7
  r8
  r11
  r12

cleanups

  $ cat errors.log
  $ killdaemons.py