##// END OF EJS Templates
test: use bundle2 for exchange in test-obsolete...
Pierre-Yves David -
r25351:97513f9d default
parent child Browse files
Show More
@@ -1,918 +1,929 b''
1 $ cat >> $HGRCPATH << EOF
1 $ cat >> $HGRCPATH << EOF
2 > [phases]
2 > [phases]
3 > # public changeset are not obsolete
3 > # public changeset are not obsolete
4 > publish=false
4 > publish=false
5 > [ui]
5 > [ui]
6 > logtemplate="{rev}:{node|short} ({phase}) [{tags} {bookmarks}] {desc|firstline}\n"
6 > logtemplate="{rev}:{node|short} ({phase}) [{tags} {bookmarks}] {desc|firstline}\n"
7 > [experimental]
8 > # drop me once bundle2 is the default,
9 > # added to get test change early.
10 > bundle2-exp = True
7 > EOF
11 > EOF
8 $ mkcommit() {
12 $ mkcommit() {
9 > echo "$1" > "$1"
13 > echo "$1" > "$1"
10 > hg add "$1"
14 > hg add "$1"
11 > hg ci -m "add $1"
15 > hg ci -m "add $1"
12 > }
16 > }
13 $ getid() {
17 $ getid() {
14 > hg log -T "{node}\n" --hidden -r "desc('$1')"
18 > hg log -T "{node}\n" --hidden -r "desc('$1')"
15 > }
19 > }
16
20
17 $ cat > debugkeys.py <<EOF
21 $ cat > debugkeys.py <<EOF
18 > def reposetup(ui, repo):
22 > def reposetup(ui, repo):
19 > class debugkeysrepo(repo.__class__):
23 > class debugkeysrepo(repo.__class__):
20 > def listkeys(self, namespace):
24 > def listkeys(self, namespace):
21 > ui.write('listkeys %s\n' % (namespace,))
25 > ui.write('listkeys %s\n' % (namespace,))
22 > return super(debugkeysrepo, self).listkeys(namespace)
26 > return super(debugkeysrepo, self).listkeys(namespace)
23 >
27 >
24 > if repo.local():
28 > if repo.local():
25 > repo.__class__ = debugkeysrepo
29 > repo.__class__ = debugkeysrepo
26 > EOF
30 > EOF
27
31
28 $ hg init tmpa
32 $ hg init tmpa
29 $ cd tmpa
33 $ cd tmpa
30 $ mkcommit kill_me
34 $ mkcommit kill_me
31
35
32 Checking that the feature is properly disabled
36 Checking that the feature is properly disabled
33
37
34 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
38 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
35 abort: creating obsolete markers is not enabled on this repo
39 abort: creating obsolete markers is not enabled on this repo
36 [255]
40 [255]
37
41
38 Enabling it
42 Enabling it
39
43
40 $ cat >> $HGRCPATH << EOF
44 $ cat >> $HGRCPATH << EOF
41 > [experimental]
45 > [experimental]
42 > evolution=createmarkers,exchange
46 > evolution=createmarkers,exchange
43 > EOF
47 > EOF
44
48
45 Killing a single changeset without replacement
49 Killing a single changeset without replacement
46
50
47 $ hg debugobsolete 0
51 $ hg debugobsolete 0
48 abort: changeset references must be full hexadecimal node identifiers
52 abort: changeset references must be full hexadecimal node identifiers
49 [255]
53 [255]
50 $ hg debugobsolete '00'
54 $ hg debugobsolete '00'
51 abort: changeset references must be full hexadecimal node identifiers
55 abort: changeset references must be full hexadecimal node identifiers
52 [255]
56 [255]
53 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
57 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
54 $ hg debugobsolete
58 $ hg debugobsolete
55 97b7c2d76b1845ed3eb988cd612611e72406cef0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'babar'}
59 97b7c2d76b1845ed3eb988cd612611e72406cef0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'babar'}
56
60
57 (test that mercurial is not confused)
61 (test that mercurial is not confused)
58
62
59 $ hg up null --quiet # having 0 as parent prevents it to be hidden
63 $ hg up null --quiet # having 0 as parent prevents it to be hidden
60 $ hg tip
64 $ hg tip
61 -1:000000000000 (public) [tip ]
65 -1:000000000000 (public) [tip ]
62 $ hg up --hidden tip --quiet
66 $ hg up --hidden tip --quiet
63
67
64 Killing a single changeset with itself should fail
68 Killing a single changeset with itself should fail
65 (simple local safeguard)
69 (simple local safeguard)
66
70
67 $ hg debugobsolete `getid kill_me` `getid kill_me`
71 $ hg debugobsolete `getid kill_me` `getid kill_me`
68 abort: bad obsmarker input: in-marker cycle with 97b7c2d76b1845ed3eb988cd612611e72406cef0
72 abort: bad obsmarker input: in-marker cycle with 97b7c2d76b1845ed3eb988cd612611e72406cef0
69 [255]
73 [255]
70
74
71 $ cd ..
75 $ cd ..
72
76
73 Killing a single changeset with replacement
77 Killing a single changeset with replacement
74 (and testing the format option)
78 (and testing the format option)
75
79
76 $ hg init tmpb
80 $ hg init tmpb
77 $ cd tmpb
81 $ cd tmpb
78 $ mkcommit a
82 $ mkcommit a
79 $ mkcommit b
83 $ mkcommit b
80 $ mkcommit original_c
84 $ mkcommit original_c
81 $ hg up "desc('b')"
85 $ hg up "desc('b')"
82 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
86 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
83 $ mkcommit new_c
87 $ mkcommit new_c
84 created new head
88 created new head
85 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
89 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
86 $ hg debugobsolete --config format.obsstore-version=0 --flag 12 `getid original_c` `getid new_c` -d '121 120'
90 $ hg debugobsolete --config format.obsstore-version=0 --flag 12 `getid original_c` `getid new_c` -d '121 120'
87 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
91 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
88 2:245bde4270cd add original_c
92 2:245bde4270cd add original_c
89 $ hg debugrevlog -cd
93 $ hg debugrevlog -cd
90 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
94 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
91 0 -1 -1 0 59 0 0 0 0 58 58 0 1 0
95 0 -1 -1 0 59 0 0 0 0 58 58 0 1 0
92 1 0 -1 59 118 59 59 0 0 58 116 0 1 0
96 1 0 -1 59 118 59 59 0 0 58 116 0 1 0
93 2 1 -1 118 193 118 118 59 0 76 192 0 1 0
97 2 1 -1 118 193 118 118 59 0 76 192 0 1 0
94 3 1 -1 193 260 193 193 59 0 66 258 0 2 0
98 3 1 -1 193 260 193 193 59 0 66 258 0 2 0
95 $ hg debugobsolete
99 $ hg debugobsolete
96 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
100 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
97
101
98 (check for version number of the obsstore)
102 (check for version number of the obsstore)
99
103
100 $ dd bs=1 count=1 if=.hg/store/obsstore 2>/dev/null
104 $ dd bs=1 count=1 if=.hg/store/obsstore 2>/dev/null
101 \x00 (no-eol) (esc)
105 \x00 (no-eol) (esc)
102
106
103 do it again (it read the obsstore before adding new changeset)
107 do it again (it read the obsstore before adding new changeset)
104
108
105 $ hg up '.^'
109 $ hg up '.^'
106 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
110 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
107 $ mkcommit new_2_c
111 $ mkcommit new_2_c
108 created new head
112 created new head
109 $ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
113 $ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
110 $ hg debugobsolete
114 $ hg debugobsolete
111 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
115 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
112 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
116 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
113
117
114 Register two markers with a missing node
118 Register two markers with a missing node
115
119
116 $ hg up '.^'
120 $ hg up '.^'
117 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
121 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
118 $ mkcommit new_3_c
122 $ mkcommit new_3_c
119 created new head
123 created new head
120 $ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
124 $ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
121 $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
125 $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
122 $ hg debugobsolete
126 $ hg debugobsolete
123 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
127 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
124 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
128 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
125 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
129 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
126 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
130 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
127
131
128 Refuse pathological nullid successors
132 Refuse pathological nullid successors
129 $ hg debugobsolete -d '9001 0' 1337133713371337133713371337133713371337 0000000000000000000000000000000000000000
133 $ hg debugobsolete -d '9001 0' 1337133713371337133713371337133713371337 0000000000000000000000000000000000000000
130 transaction abort!
134 transaction abort!
131 rollback completed
135 rollback completed
132 abort: bad obsolescence marker detected: invalid successors nullid
136 abort: bad obsolescence marker detected: invalid successors nullid
133 [255]
137 [255]
134
138
135 Check that graphlog detect that a changeset is obsolete:
139 Check that graphlog detect that a changeset is obsolete:
136
140
137 $ hg log -G
141 $ hg log -G
138 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
142 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
139 |
143 |
140 o 1:7c3bad9141dc (draft) [ ] add b
144 o 1:7c3bad9141dc (draft) [ ] add b
141 |
145 |
142 o 0:1f0dee641bb7 (draft) [ ] add a
146 o 0:1f0dee641bb7 (draft) [ ] add a
143
147
144
148
145 check that heads does not report them
149 check that heads does not report them
146
150
147 $ hg heads
151 $ hg heads
148 5:5601fb93a350 (draft) [tip ] add new_3_c
152 5:5601fb93a350 (draft) [tip ] add new_3_c
149 $ hg heads --hidden
153 $ hg heads --hidden
150 5:5601fb93a350 (draft) [tip ] add new_3_c
154 5:5601fb93a350 (draft) [tip ] add new_3_c
151 4:ca819180edb9 (draft) [ ] add new_2_c
155 4:ca819180edb9 (draft) [ ] add new_2_c
152 3:cdbce2fbb163 (draft) [ ] add new_c
156 3:cdbce2fbb163 (draft) [ ] add new_c
153 2:245bde4270cd (draft) [ ] add original_c
157 2:245bde4270cd (draft) [ ] add original_c
154
158
155
159
156 check that summary does not report them
160 check that summary does not report them
157
161
158 $ hg init ../sink
162 $ hg init ../sink
159 $ echo '[paths]' >> .hg/hgrc
163 $ echo '[paths]' >> .hg/hgrc
160 $ echo 'default=../sink' >> .hg/hgrc
164 $ echo 'default=../sink' >> .hg/hgrc
161 $ hg summary --remote
165 $ hg summary --remote
162 parent: 5:5601fb93a350 tip
166 parent: 5:5601fb93a350 tip
163 add new_3_c
167 add new_3_c
164 branch: default
168 branch: default
165 commit: (clean)
169 commit: (clean)
166 update: (current)
170 update: (current)
167 phases: 3 draft (draft)
171 phases: 3 draft (draft)
168 remote: 3 outgoing
172 remote: 3 outgoing
169
173
170 $ hg summary --remote --hidden
174 $ hg summary --remote --hidden
171 parent: 5:5601fb93a350 tip
175 parent: 5:5601fb93a350 tip
172 add new_3_c
176 add new_3_c
173 branch: default
177 branch: default
174 commit: (clean)
178 commit: (clean)
175 update: 3 new changesets, 4 branch heads (merge)
179 update: 3 new changesets, 4 branch heads (merge)
176 phases: 6 draft (draft)
180 phases: 6 draft (draft)
177 remote: 3 outgoing
181 remote: 3 outgoing
178
182
179 check that various commands work well with filtering
183 check that various commands work well with filtering
180
184
181 $ hg tip
185 $ hg tip
182 5:5601fb93a350 (draft) [tip ] add new_3_c
186 5:5601fb93a350 (draft) [tip ] add new_3_c
183 $ hg log -r 6
187 $ hg log -r 6
184 abort: unknown revision '6'!
188 abort: unknown revision '6'!
185 [255]
189 [255]
186 $ hg log -r 4
190 $ hg log -r 4
187 abort: hidden revision '4'!
191 abort: hidden revision '4'!
188 (use --hidden to access hidden revisions)
192 (use --hidden to access hidden revisions)
189 [255]
193 [255]
190 $ hg debugrevspec 'rev(6)'
194 $ hg debugrevspec 'rev(6)'
191 $ hg debugrevspec 'rev(4)'
195 $ hg debugrevspec 'rev(4)'
192 $ hg debugrevspec 'null'
196 $ hg debugrevspec 'null'
193 -1
197 -1
194
198
195 Check that public changeset are not accounted as obsolete:
199 Check that public changeset are not accounted as obsolete:
196
200
197 $ hg --hidden phase --public 2
201 $ hg --hidden phase --public 2
198 $ hg log -G
202 $ hg log -G
199 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
203 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
200 |
204 |
201 | o 2:245bde4270cd (public) [ ] add original_c
205 | o 2:245bde4270cd (public) [ ] add original_c
202 |/
206 |/
203 o 1:7c3bad9141dc (public) [ ] add b
207 o 1:7c3bad9141dc (public) [ ] add b
204 |
208 |
205 o 0:1f0dee641bb7 (public) [ ] add a
209 o 0:1f0dee641bb7 (public) [ ] add a
206
210
207
211
208 And that bumped changeset are detected
212 And that bumped changeset are detected
209 --------------------------------------
213 --------------------------------------
210
214
211 If we didn't filtered obsolete changesets out, 3 and 4 would show up too. Also
215 If we didn't filtered obsolete changesets out, 3 and 4 would show up too. Also
212 note that the bumped changeset (5:5601fb93a350) is not a direct successor of
216 note that the bumped changeset (5:5601fb93a350) is not a direct successor of
213 the public changeset
217 the public changeset
214
218
215 $ hg log --hidden -r 'bumped()'
219 $ hg log --hidden -r 'bumped()'
216 5:5601fb93a350 (draft) [tip ] add new_3_c
220 5:5601fb93a350 (draft) [tip ] add new_3_c
217
221
218 And that we can't push bumped changeset
222 And that we can't push bumped changeset
219
223
220 $ hg push ../tmpa -r 0 --force #(make repo related)
224 $ hg push ../tmpa -r 0 --force #(make repo related)
221 pushing to ../tmpa
225 pushing to ../tmpa
222 searching for changes
226 searching for changes
223 warning: repository is unrelated
227 warning: repository is unrelated
224 adding changesets
228 adding changesets
225 adding manifests
229 adding manifests
226 adding file changes
230 adding file changes
227 added 1 changesets with 1 changes to 1 files (+1 heads)
231 added 1 changesets with 1 changes to 1 files (+1 heads)
228 $ hg push ../tmpa
232 $ hg push ../tmpa
229 pushing to ../tmpa
233 pushing to ../tmpa
230 searching for changes
234 searching for changes
231 abort: push includes bumped changeset: 5601fb93a350!
235 abort: push includes bumped changeset: 5601fb93a350!
232 [255]
236 [255]
233
237
234 Fixing "bumped" situation
238 Fixing "bumped" situation
235 We need to create a clone of 5 and add a special marker with a flag
239 We need to create a clone of 5 and add a special marker with a flag
236
240
237 $ hg up '5^'
241 $ hg up '5^'
238 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
242 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
239 $ hg revert -ar 5
243 $ hg revert -ar 5
240 adding new_3_c
244 adding new_3_c
241 $ hg ci -m 'add n3w_3_c'
245 $ hg ci -m 'add n3w_3_c'
242 created new head
246 created new head
243 $ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
247 $ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
244 $ hg log -r 'bumped()'
248 $ hg log -r 'bumped()'
245 $ hg log -G
249 $ hg log -G
246 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
250 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
247 |
251 |
248 | o 2:245bde4270cd (public) [ ] add original_c
252 | o 2:245bde4270cd (public) [ ] add original_c
249 |/
253 |/
250 o 1:7c3bad9141dc (public) [ ] add b
254 o 1:7c3bad9141dc (public) [ ] add b
251 |
255 |
252 o 0:1f0dee641bb7 (public) [ ] add a
256 o 0:1f0dee641bb7 (public) [ ] add a
253
257
254
258
255 $ cd ..
259 $ cd ..
256
260
257 Revision 0 is hidden
261 Revision 0 is hidden
258 --------------------
262 --------------------
259
263
260 $ hg init rev0hidden
264 $ hg init rev0hidden
261 $ cd rev0hidden
265 $ cd rev0hidden
262
266
263 $ mkcommit kill0
267 $ mkcommit kill0
264 $ hg up -q null
268 $ hg up -q null
265 $ hg debugobsolete `getid kill0`
269 $ hg debugobsolete `getid kill0`
266 $ mkcommit a
270 $ mkcommit a
267 $ mkcommit b
271 $ mkcommit b
268
272
269 Should pick the first visible revision as "repo" node
273 Should pick the first visible revision as "repo" node
270
274
271 $ hg archive ../archive-null
275 $ hg archive ../archive-null
272 $ cat ../archive-null/.hg_archival.txt
276 $ cat ../archive-null/.hg_archival.txt
273 repo: 1f0dee641bb7258c56bd60e93edfa2405381c41e
277 repo: 1f0dee641bb7258c56bd60e93edfa2405381c41e
274 node: 7c3bad9141dcb46ff89abf5f61856facd56e476c
278 node: 7c3bad9141dcb46ff89abf5f61856facd56e476c
275 branch: default
279 branch: default
276 latesttag: null
280 latesttag: null
277 latesttagdistance: 2
281 latesttagdistance: 2
278 changessincelatesttag: 2
282 changessincelatesttag: 2
279
283
280
284
281 $ cd ..
285 $ cd ..
282
286
283 Exchange Test
287 Exchange Test
284 ============================
288 ============================
285
289
286 Destination repo does not have any data
290 Destination repo does not have any data
287 ---------------------------------------
291 ---------------------------------------
288
292
289 Simple incoming test
293 Simple incoming test
290
294
291 $ hg init tmpc
295 $ hg init tmpc
292 $ cd tmpc
296 $ cd tmpc
293 $ hg incoming ../tmpb
297 $ hg incoming ../tmpb
294 comparing with ../tmpb
298 comparing with ../tmpb
295 0:1f0dee641bb7 (public) [ ] add a
299 0:1f0dee641bb7 (public) [ ] add a
296 1:7c3bad9141dc (public) [ ] add b
300 1:7c3bad9141dc (public) [ ] add b
297 2:245bde4270cd (public) [ ] add original_c
301 2:245bde4270cd (public) [ ] add original_c
298 6:6f9641995072 (draft) [tip ] add n3w_3_c
302 6:6f9641995072 (draft) [tip ] add n3w_3_c
299
303
300 Try to pull markers
304 Try to pull markers
301 (extinct changeset are excluded but marker are pushed)
305 (extinct changeset are excluded but marker are pushed)
302
306
303 $ hg pull ../tmpb
307 $ hg pull ../tmpb
304 pulling from ../tmpb
308 pulling from ../tmpb
305 requesting all changes
309 requesting all changes
306 adding changesets
310 adding changesets
307 adding manifests
311 adding manifests
308 adding file changes
312 adding file changes
309 added 4 changesets with 4 changes to 4 files (+1 heads)
313 added 4 changesets with 4 changes to 4 files (+1 heads)
314 5 new obsolescence markers
310 (run 'hg heads' to see heads, 'hg merge' to merge)
315 (run 'hg heads' to see heads, 'hg merge' to merge)
311 $ hg debugobsolete
316 $ hg debugobsolete
312 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
317 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
313 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
318 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
314 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
319 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
315 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
320 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
316 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
321 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
317
322
318 Rollback//Transaction support
323 Rollback//Transaction support
319
324
320 $ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
325 $ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
321 $ hg debugobsolete
326 $ hg debugobsolete
322 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
327 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
323 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
328 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
324 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
329 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
325 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
330 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
326 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
331 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
327 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
332 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
328 $ hg rollback -n
333 $ hg rollback -n
329 repository tip rolled back to revision 3 (undo debugobsolete)
334 repository tip rolled back to revision 3 (undo debugobsolete)
330 $ hg rollback
335 $ hg rollback
331 repository tip rolled back to revision 3 (undo debugobsolete)
336 repository tip rolled back to revision 3 (undo debugobsolete)
332 $ hg debugobsolete
337 $ hg debugobsolete
333 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
338 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
334 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
339 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
335 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
340 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
336 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
341 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
337 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
342 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
338
343
339 $ cd ..
344 $ cd ..
340
345
341 Try to push markers
346 Try to push markers
342
347
343 $ hg init tmpd
348 $ hg init tmpd
344 $ hg -R tmpb push tmpd
349 $ hg -R tmpb push tmpd
345 pushing to tmpd
350 pushing to tmpd
346 searching for changes
351 searching for changes
347 adding changesets
352 adding changesets
348 adding manifests
353 adding manifests
349 adding file changes
354 adding file changes
350 added 4 changesets with 4 changes to 4 files (+1 heads)
355 added 4 changesets with 4 changes to 4 files (+1 heads)
356 5 new obsolescence markers
351 $ hg -R tmpd debugobsolete | sort
357 $ hg -R tmpd debugobsolete | sort
352 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
358 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
353 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
359 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
354 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
360 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
355 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
361 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
356 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
362 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
357
363
358 Check obsolete keys are exchanged only if source has an obsolete store
364 Check obsolete keys are exchanged only if source has an obsolete store
359
365
360 $ hg init empty
366 $ hg init empty
361 $ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
367 $ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
362 pushing to tmpd
368 pushing to tmpd
363 listkeys phases
369 listkeys phases
364 listkeys bookmarks
370 listkeys bookmarks
365 no changes found
371 no changes found
366 listkeys phases
372 listkeys phases
367 [1]
373 [1]
368
374
369 clone support
375 clone support
370 (markers are copied and extinct changesets are included to allow hardlinks)
376 (markers are copied and extinct changesets are included to allow hardlinks)
371
377
372 $ hg clone tmpb clone-dest
378 $ hg clone tmpb clone-dest
373 updating to branch default
379 updating to branch default
374 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
380 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
375 $ hg -R clone-dest log -G --hidden
381 $ hg -R clone-dest log -G --hidden
376 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
382 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
377 |
383 |
378 | x 5:5601fb93a350 (draft) [ ] add new_3_c
384 | x 5:5601fb93a350 (draft) [ ] add new_3_c
379 |/
385 |/
380 | x 4:ca819180edb9 (draft) [ ] add new_2_c
386 | x 4:ca819180edb9 (draft) [ ] add new_2_c
381 |/
387 |/
382 | x 3:cdbce2fbb163 (draft) [ ] add new_c
388 | x 3:cdbce2fbb163 (draft) [ ] add new_c
383 |/
389 |/
384 | o 2:245bde4270cd (public) [ ] add original_c
390 | o 2:245bde4270cd (public) [ ] add original_c
385 |/
391 |/
386 o 1:7c3bad9141dc (public) [ ] add b
392 o 1:7c3bad9141dc (public) [ ] add b
387 |
393 |
388 o 0:1f0dee641bb7 (public) [ ] add a
394 o 0:1f0dee641bb7 (public) [ ] add a
389
395
390 $ hg -R clone-dest debugobsolete
396 $ hg -R clone-dest debugobsolete
391 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
397 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
392 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
398 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
393 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
399 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
394 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
400 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
395 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
401 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
396
402
397
403
398 Destination repo have existing data
404 Destination repo have existing data
399 ---------------------------------------
405 ---------------------------------------
400
406
401 On pull
407 On pull
402
408
403 $ hg init tmpe
409 $ hg init tmpe
404 $ cd tmpe
410 $ cd tmpe
405 $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
411 $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
406 $ hg pull ../tmpb
412 $ hg pull ../tmpb
407 pulling from ../tmpb
413 pulling from ../tmpb
408 requesting all changes
414 requesting all changes
409 adding changesets
415 adding changesets
410 adding manifests
416 adding manifests
411 adding file changes
417 adding file changes
412 added 4 changesets with 4 changes to 4 files (+1 heads)
418 added 4 changesets with 4 changes to 4 files (+1 heads)
419 5 new obsolescence markers
413 (run 'hg heads' to see heads, 'hg merge' to merge)
420 (run 'hg heads' to see heads, 'hg merge' to merge)
414 $ hg debugobsolete
421 $ hg debugobsolete
415 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
422 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
416 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
423 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
417 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
424 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
418 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
425 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
419 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
426 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
420 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
427 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
421
428
422
429
423 On push
430 On push
424
431
425 $ hg push ../tmpc
432 $ hg push ../tmpc
426 pushing to ../tmpc
433 pushing to ../tmpc
427 searching for changes
434 searching for changes
428 no changes found
435 no changes found
436 1 new obsolescence markers
429 [1]
437 [1]
430 $ hg -R ../tmpc debugobsolete
438 $ hg -R ../tmpc debugobsolete
431 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
439 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
432 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
440 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
433 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
441 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
434 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
442 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
435 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
443 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
436 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
444 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
437
445
438 detect outgoing obsolete and unstable
446 detect outgoing obsolete and unstable
439 ---------------------------------------
447 ---------------------------------------
440
448
441
449
442 $ hg log -G
450 $ hg log -G
443 o 3:6f9641995072 (draft) [tip ] add n3w_3_c
451 o 3:6f9641995072 (draft) [tip ] add n3w_3_c
444 |
452 |
445 | o 2:245bde4270cd (public) [ ] add original_c
453 | o 2:245bde4270cd (public) [ ] add original_c
446 |/
454 |/
447 o 1:7c3bad9141dc (public) [ ] add b
455 o 1:7c3bad9141dc (public) [ ] add b
448 |
456 |
449 o 0:1f0dee641bb7 (public) [ ] add a
457 o 0:1f0dee641bb7 (public) [ ] add a
450
458
451 $ hg up 'desc("n3w_3_c")'
459 $ hg up 'desc("n3w_3_c")'
452 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
460 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
453 $ mkcommit original_d
461 $ mkcommit original_d
454 $ mkcommit original_e
462 $ mkcommit original_e
455 $ hg debugobsolete --record-parents `getid original_d` -d '0 0'
463 $ hg debugobsolete --record-parents `getid original_d` -d '0 0'
456 $ hg debugobsolete | grep `getid original_d`
464 $ hg debugobsolete | grep `getid original_d`
457 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
465 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
458 $ hg log -r 'obsolete()'
466 $ hg log -r 'obsolete()'
459 4:94b33453f93b (draft) [ ] add original_d
467 4:94b33453f93b (draft) [ ] add original_d
460 $ hg log -G -r '::unstable()'
468 $ hg log -G -r '::unstable()'
461 @ 5:cda648ca50f5 (draft) [tip ] add original_e
469 @ 5:cda648ca50f5 (draft) [tip ] add original_e
462 |
470 |
463 x 4:94b33453f93b (draft) [ ] add original_d
471 x 4:94b33453f93b (draft) [ ] add original_d
464 |
472 |
465 o 3:6f9641995072 (draft) [ ] add n3w_3_c
473 o 3:6f9641995072 (draft) [ ] add n3w_3_c
466 |
474 |
467 o 1:7c3bad9141dc (public) [ ] add b
475 o 1:7c3bad9141dc (public) [ ] add b
468 |
476 |
469 o 0:1f0dee641bb7 (public) [ ] add a
477 o 0:1f0dee641bb7 (public) [ ] add a
470
478
471
479
472 refuse to push obsolete changeset
480 refuse to push obsolete changeset
473
481
474 $ hg push ../tmpc/ -r 'desc("original_d")'
482 $ hg push ../tmpc/ -r 'desc("original_d")'
475 pushing to ../tmpc/
483 pushing to ../tmpc/
476 searching for changes
484 searching for changes
477 abort: push includes obsolete changeset: 94b33453f93b!
485 abort: push includes obsolete changeset: 94b33453f93b!
478 [255]
486 [255]
479
487
480 refuse to push unstable changeset
488 refuse to push unstable changeset
481
489
482 $ hg push ../tmpc/
490 $ hg push ../tmpc/
483 pushing to ../tmpc/
491 pushing to ../tmpc/
484 searching for changes
492 searching for changes
485 abort: push includes unstable changeset: cda648ca50f5!
493 abort: push includes unstable changeset: cda648ca50f5!
486 [255]
494 [255]
487
495
488 Test that extinct changeset are properly detected
496 Test that extinct changeset are properly detected
489
497
490 $ hg log -r 'extinct()'
498 $ hg log -r 'extinct()'
491
499
492 Don't try to push extinct changeset
500 Don't try to push extinct changeset
493
501
494 $ hg init ../tmpf
502 $ hg init ../tmpf
495 $ hg out ../tmpf
503 $ hg out ../tmpf
496 comparing with ../tmpf
504 comparing with ../tmpf
497 searching for changes
505 searching for changes
498 0:1f0dee641bb7 (public) [ ] add a
506 0:1f0dee641bb7 (public) [ ] add a
499 1:7c3bad9141dc (public) [ ] add b
507 1:7c3bad9141dc (public) [ ] add b
500 2:245bde4270cd (public) [ ] add original_c
508 2:245bde4270cd (public) [ ] add original_c
501 3:6f9641995072 (draft) [ ] add n3w_3_c
509 3:6f9641995072 (draft) [ ] add n3w_3_c
502 4:94b33453f93b (draft) [ ] add original_d
510 4:94b33453f93b (draft) [ ] add original_d
503 5:cda648ca50f5 (draft) [tip ] add original_e
511 5:cda648ca50f5 (draft) [tip ] add original_e
504 $ hg push ../tmpf -f # -f because be push unstable too
512 $ hg push ../tmpf -f # -f because be push unstable too
505 pushing to ../tmpf
513 pushing to ../tmpf
506 searching for changes
514 searching for changes
507 adding changesets
515 adding changesets
508 adding manifests
516 adding manifests
509 adding file changes
517 adding file changes
510 added 6 changesets with 6 changes to 6 files (+1 heads)
518 added 6 changesets with 6 changes to 6 files (+1 heads)
519 7 new obsolescence markers
511
520
512 no warning displayed
521 no warning displayed
513
522
514 $ hg push ../tmpf
523 $ hg push ../tmpf
515 pushing to ../tmpf
524 pushing to ../tmpf
516 searching for changes
525 searching for changes
517 no changes found
526 no changes found
518 [1]
527 [1]
519
528
520 Do not warn about new head when the new head is a successors of a remote one
529 Do not warn about new head when the new head is a successors of a remote one
521
530
522 $ hg log -G
531 $ hg log -G
523 @ 5:cda648ca50f5 (draft) [tip ] add original_e
532 @ 5:cda648ca50f5 (draft) [tip ] add original_e
524 |
533 |
525 x 4:94b33453f93b (draft) [ ] add original_d
534 x 4:94b33453f93b (draft) [ ] add original_d
526 |
535 |
527 o 3:6f9641995072 (draft) [ ] add n3w_3_c
536 o 3:6f9641995072 (draft) [ ] add n3w_3_c
528 |
537 |
529 | o 2:245bde4270cd (public) [ ] add original_c
538 | o 2:245bde4270cd (public) [ ] add original_c
530 |/
539 |/
531 o 1:7c3bad9141dc (public) [ ] add b
540 o 1:7c3bad9141dc (public) [ ] add b
532 |
541 |
533 o 0:1f0dee641bb7 (public) [ ] add a
542 o 0:1f0dee641bb7 (public) [ ] add a
534
543
535 $ hg up -q 'desc(n3w_3_c)'
544 $ hg up -q 'desc(n3w_3_c)'
536 $ mkcommit obsolete_e
545 $ mkcommit obsolete_e
537 created new head
546 created new head
538 $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'`
547 $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'`
539 $ hg outgoing ../tmpf # parasite hg outgoing testin
548 $ hg outgoing ../tmpf # parasite hg outgoing testin
540 comparing with ../tmpf
549 comparing with ../tmpf
541 searching for changes
550 searching for changes
542 6:3de5eca88c00 (draft) [tip ] add obsolete_e
551 6:3de5eca88c00 (draft) [tip ] add obsolete_e
543 $ hg push ../tmpf
552 $ hg push ../tmpf
544 pushing to ../tmpf
553 pushing to ../tmpf
545 searching for changes
554 searching for changes
546 adding changesets
555 adding changesets
547 adding manifests
556 adding manifests
548 adding file changes
557 adding file changes
549 added 1 changesets with 1 changes to 1 files (+1 heads)
558 added 1 changesets with 1 changes to 1 files (+1 heads)
559 1 new obsolescence markers
550
560
551 test relevance computation
561 test relevance computation
552 ---------------------------------------
562 ---------------------------------------
553
563
554 Checking simple case of "marker relevance".
564 Checking simple case of "marker relevance".
555
565
556
566
557 Reminder of the repo situation
567 Reminder of the repo situation
558
568
559 $ hg log --hidden --graph
569 $ hg log --hidden --graph
560 @ 6:3de5eca88c00 (draft) [tip ] add obsolete_e
570 @ 6:3de5eca88c00 (draft) [tip ] add obsolete_e
561 |
571 |
562 | x 5:cda648ca50f5 (draft) [ ] add original_e
572 | x 5:cda648ca50f5 (draft) [ ] add original_e
563 | |
573 | |
564 | x 4:94b33453f93b (draft) [ ] add original_d
574 | x 4:94b33453f93b (draft) [ ] add original_d
565 |/
575 |/
566 o 3:6f9641995072 (draft) [ ] add n3w_3_c
576 o 3:6f9641995072 (draft) [ ] add n3w_3_c
567 |
577 |
568 | o 2:245bde4270cd (public) [ ] add original_c
578 | o 2:245bde4270cd (public) [ ] add original_c
569 |/
579 |/
570 o 1:7c3bad9141dc (public) [ ] add b
580 o 1:7c3bad9141dc (public) [ ] add b
571 |
581 |
572 o 0:1f0dee641bb7 (public) [ ] add a
582 o 0:1f0dee641bb7 (public) [ ] add a
573
583
574
584
575 List of all markers
585 List of all markers
576
586
577 $ hg debugobsolete
587 $ hg debugobsolete
578 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
588 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
579 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
589 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
580 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
590 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
581 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
591 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
582 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
592 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
583 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
593 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
584 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
594 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
585 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
595 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
586
596
587 List of changesets with no chain
597 List of changesets with no chain
588
598
589 $ hg debugobsolete --hidden --rev ::2
599 $ hg debugobsolete --hidden --rev ::2
590
600
591 List of changesets that are included on marker chain
601 List of changesets that are included on marker chain
592
602
593 $ hg debugobsolete --hidden --rev 6
603 $ hg debugobsolete --hidden --rev 6
594 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
604 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
595
605
596 List of changesets with a longer chain, (including a pruned children)
606 List of changesets with a longer chain, (including a pruned children)
597
607
598 $ hg debugobsolete --hidden --rev 3
608 $ hg debugobsolete --hidden --rev 3
599 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
609 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
600 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
610 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
601 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
611 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
602 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
612 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
603 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
613 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
604 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
614 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
605 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
615 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
606
616
607 List of both
617 List of both
608
618
609 $ hg debugobsolete --hidden --rev 3::6
619 $ hg debugobsolete --hidden --rev 3::6
610 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
620 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
611 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
621 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
612 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
622 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
613 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
623 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
614 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
624 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
615 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
625 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
616 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
626 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
617 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
627 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
618
628
619 #if serve
629 #if serve
620
630
621 Test the debug output for exchange
631 Test the debug output for exchange
622 ----------------------------------
632 ----------------------------------
623
633
624 $ hg pull ../tmpb --config 'experimental.obsmarkers-exchange-debug=True' --config 'experimental.bundle2-exp=True'
634 $ hg pull ../tmpb --config 'experimental.obsmarkers-exchange-debug=True' --config 'experimental.bundle2-exp=True'
625 pulling from ../tmpb
635 pulling from ../tmpb
626 searching for changes
636 searching for changes
627 no changes found
637 no changes found
628 obsmarker-exchange: 346 bytes received
638 obsmarker-exchange: 346 bytes received
629
639
630 check hgweb does not explode
640 check hgweb does not explode
631 ====================================
641 ====================================
632
642
633 $ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
643 $ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
634 adding changesets
644 adding changesets
635 adding manifests
645 adding manifests
636 adding file changes
646 adding file changes
637 added 62 changesets with 63 changes to 9 files (+60 heads)
647 added 62 changesets with 63 changes to 9 files (+60 heads)
638 (run 'hg heads .' to see heads, 'hg merge' to merge)
648 (run 'hg heads .' to see heads, 'hg merge' to merge)
639 $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
649 $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
640 > do
650 > do
641 > hg debugobsolete $node
651 > hg debugobsolete $node
642 > done
652 > done
643 $ hg up tip
653 $ hg up tip
644 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
654 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
645
655
646 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
656 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
647 $ cat hg.pid >> $DAEMON_PIDS
657 $ cat hg.pid >> $DAEMON_PIDS
648
658
649 check changelog view
659 check changelog view
650
660
651 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'shortlog/'
661 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'shortlog/'
652 200 Script output follows
662 200 Script output follows
653
663
654 check graph view
664 check graph view
655
665
656 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'graph'
666 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'graph'
657 200 Script output follows
667 200 Script output follows
658
668
659 check filelog view
669 check filelog view
660
670
661 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar'
671 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar'
662 200 Script output follows
672 200 Script output follows
663
673
664 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/68'
674 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/68'
665 200 Script output follows
675 200 Script output follows
666 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/67'
676 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/67'
667 404 Not Found
677 404 Not Found
668 [1]
678 [1]
669
679
670 check that web.view config option:
680 check that web.view config option:
671
681
672 $ "$TESTDIR/killdaemons.py" hg.pid
682 $ "$TESTDIR/killdaemons.py" hg.pid
673 $ cat >> .hg/hgrc << EOF
683 $ cat >> .hg/hgrc << EOF
674 > [web]
684 > [web]
675 > view=all
685 > view=all
676 > EOF
686 > EOF
677 $ wait
687 $ wait
678 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
688 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
679 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/67'
689 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/67'
680 200 Script output follows
690 200 Script output follows
681 $ "$TESTDIR/killdaemons.py" hg.pid
691 $ "$TESTDIR/killdaemons.py" hg.pid
682
692
683 Checking _enable=False warning if obsolete marker exists
693 Checking _enable=False warning if obsolete marker exists
684
694
685 $ echo '[experimental]' >> $HGRCPATH
695 $ echo '[experimental]' >> $HGRCPATH
686 $ echo "evolution=" >> $HGRCPATH
696 $ echo "evolution=" >> $HGRCPATH
687 $ hg log -r tip
697 $ hg log -r tip
688 obsolete feature not enabled but 68 markers found!
698 obsolete feature not enabled but 68 markers found!
689 68:c15e9edfca13 (draft) [tip ] add celestine
699 68:c15e9edfca13 (draft) [tip ] add celestine
690
700
691 reenable for later test
701 reenable for later test
692
702
693 $ echo '[experimental]' >> $HGRCPATH
703 $ echo '[experimental]' >> $HGRCPATH
694 $ echo "evolution=createmarkers,exchange" >> $HGRCPATH
704 $ echo "evolution=createmarkers,exchange" >> $HGRCPATH
695
705
696 #endif
706 #endif
697
707
698 Test incoming/outcoming with changesets obsoleted remotely, known locally
708 Test incoming/outcoming with changesets obsoleted remotely, known locally
699 ===============================================================================
709 ===============================================================================
700
710
701 This test issue 3805
711 This test issue 3805
702
712
703 $ hg init repo-issue3805
713 $ hg init repo-issue3805
704 $ cd repo-issue3805
714 $ cd repo-issue3805
705 $ echo "foo" > foo
715 $ echo "foo" > foo
706 $ hg ci -Am "A"
716 $ hg ci -Am "A"
707 adding foo
717 adding foo
708 $ hg clone . ../other-issue3805
718 $ hg clone . ../other-issue3805
709 updating to branch default
719 updating to branch default
710 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
720 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
711 $ echo "bar" >> foo
721 $ echo "bar" >> foo
712 $ hg ci --amend
722 $ hg ci --amend
713 $ cd ../other-issue3805
723 $ cd ../other-issue3805
714 $ hg log -G
724 $ hg log -G
715 @ 0:193e9254ce7e (draft) [tip ] A
725 @ 0:193e9254ce7e (draft) [tip ] A
716
726
717 $ hg log -G -R ../repo-issue3805
727 $ hg log -G -R ../repo-issue3805
718 @ 2:3816541e5485 (draft) [tip ] A
728 @ 2:3816541e5485 (draft) [tip ] A
719
729
720 $ hg incoming
730 $ hg incoming
721 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
731 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
722 searching for changes
732 searching for changes
723 2:3816541e5485 (draft) [tip ] A
733 2:3816541e5485 (draft) [tip ] A
724 $ hg incoming --bundle ../issue3805.hg
734 $ hg incoming --bundle ../issue3805.hg
725 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
735 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
726 searching for changes
736 searching for changes
727 2:3816541e5485 (draft) [tip ] A
737 2:3816541e5485 (draft) [tip ] A
728 $ hg outgoing
738 $ hg outgoing
729 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
739 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
730 searching for changes
740 searching for changes
731 no changes found
741 no changes found
732 [1]
742 [1]
733
743
734 #if serve
744 #if serve
735
745
736 $ hg serve -R ../repo-issue3805 -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
746 $ hg serve -R ../repo-issue3805 -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
737 $ cat hg.pid >> $DAEMON_PIDS
747 $ cat hg.pid >> $DAEMON_PIDS
738
748
739 $ hg incoming http://localhost:$HGPORT
749 $ hg incoming http://localhost:$HGPORT
740 comparing with http://localhost:$HGPORT/
750 comparing with http://localhost:$HGPORT/
741 searching for changes
751 searching for changes
742 1:3816541e5485 (draft) [tip ] A
752 1:3816541e5485 (draft) [tip ] A
743 $ hg outgoing http://localhost:$HGPORT
753 $ hg outgoing http://localhost:$HGPORT
744 comparing with http://localhost:$HGPORT/
754 comparing with http://localhost:$HGPORT/
745 searching for changes
755 searching for changes
746 no changes found
756 no changes found
747 [1]
757 [1]
748
758
749 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
759 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
750
760
751 #endif
761 #endif
752
762
753 This test issue 3814
763 This test issue 3814
754
764
755 (nothing to push but locally hidden changeset)
765 (nothing to push but locally hidden changeset)
756
766
757 $ cd ..
767 $ cd ..
758 $ hg init repo-issue3814
768 $ hg init repo-issue3814
759 $ cd repo-issue3805
769 $ cd repo-issue3805
760 $ hg push -r 3816541e5485 ../repo-issue3814
770 $ hg push -r 3816541e5485 ../repo-issue3814
761 pushing to ../repo-issue3814
771 pushing to ../repo-issue3814
762 searching for changes
772 searching for changes
763 adding changesets
773 adding changesets
764 adding manifests
774 adding manifests
765 adding file changes
775 adding file changes
766 added 1 changesets with 1 changes to 1 files
776 added 1 changesets with 1 changes to 1 files
777 2 new obsolescence markers
767 $ hg out ../repo-issue3814
778 $ hg out ../repo-issue3814
768 comparing with ../repo-issue3814
779 comparing with ../repo-issue3814
769 searching for changes
780 searching for changes
770 no changes found
781 no changes found
771 [1]
782 [1]
772
783
773 Test that a local tag blocks a changeset from being hidden
784 Test that a local tag blocks a changeset from being hidden
774
785
775 $ hg tag -l visible -r 0 --hidden
786 $ hg tag -l visible -r 0 --hidden
776 $ hg log -G
787 $ hg log -G
777 @ 2:3816541e5485 (draft) [tip ] A
788 @ 2:3816541e5485 (draft) [tip ] A
778
789
779 x 0:193e9254ce7e (draft) [visible ] A
790 x 0:193e9254ce7e (draft) [visible ] A
780
791
781 Test that removing a local tag does not cause some commands to fail
792 Test that removing a local tag does not cause some commands to fail
782
793
783 $ hg tag -l -r tip tiptag
794 $ hg tag -l -r tip tiptag
784 $ hg tags
795 $ hg tags
785 tiptag 2:3816541e5485
796 tiptag 2:3816541e5485
786 tip 2:3816541e5485
797 tip 2:3816541e5485
787 visible 0:193e9254ce7e
798 visible 0:193e9254ce7e
788 $ hg --config extensions.strip= strip -r tip --no-backup
799 $ hg --config extensions.strip= strip -r tip --no-backup
789 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
800 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
790 $ hg tags
801 $ hg tags
791 visible 0:193e9254ce7e
802 visible 0:193e9254ce7e
792 tip 0:193e9254ce7e
803 tip 0:193e9254ce7e
793
804
794 Test bundle overlay onto hidden revision
805 Test bundle overlay onto hidden revision
795
806
796 $ cd ..
807 $ cd ..
797 $ hg init repo-bundleoverlay
808 $ hg init repo-bundleoverlay
798 $ cd repo-bundleoverlay
809 $ cd repo-bundleoverlay
799 $ echo "A" > foo
810 $ echo "A" > foo
800 $ hg ci -Am "A"
811 $ hg ci -Am "A"
801 adding foo
812 adding foo
802 $ echo "B" >> foo
813 $ echo "B" >> foo
803 $ hg ci -m "B"
814 $ hg ci -m "B"
804 $ hg up 0
815 $ hg up 0
805 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
816 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
806 $ echo "C" >> foo
817 $ echo "C" >> foo
807 $ hg ci -m "C"
818 $ hg ci -m "C"
808 created new head
819 created new head
809 $ hg log -G
820 $ hg log -G
810 @ 2:c186d7714947 (draft) [tip ] C
821 @ 2:c186d7714947 (draft) [tip ] C
811 |
822 |
812 | o 1:44526ebb0f98 (draft) [ ] B
823 | o 1:44526ebb0f98 (draft) [ ] B
813 |/
824 |/
814 o 0:4b34ecfb0d56 (draft) [ ] A
825 o 0:4b34ecfb0d56 (draft) [ ] A
815
826
816
827
817 $ hg clone -r1 . ../other-bundleoverlay
828 $ hg clone -r1 . ../other-bundleoverlay
818 adding changesets
829 adding changesets
819 adding manifests
830 adding manifests
820 adding file changes
831 adding file changes
821 added 2 changesets with 2 changes to 1 files
832 added 2 changesets with 2 changes to 1 files
822 updating to branch default
833 updating to branch default
823 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
834 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
824 $ cd ../other-bundleoverlay
835 $ cd ../other-bundleoverlay
825 $ echo "B+" >> foo
836 $ echo "B+" >> foo
826 $ hg ci --amend -m "B+"
837 $ hg ci --amend -m "B+"
827 $ hg log -G --hidden
838 $ hg log -G --hidden
828 @ 3:b7d587542d40 (draft) [tip ] B+
839 @ 3:b7d587542d40 (draft) [tip ] B+
829 |
840 |
830 | x 2:eb95e9297e18 (draft) [ ] temporary amend commit for 44526ebb0f98
841 | x 2:eb95e9297e18 (draft) [ ] temporary amend commit for 44526ebb0f98
831 | |
842 | |
832 | x 1:44526ebb0f98 (draft) [ ] B
843 | x 1:44526ebb0f98 (draft) [ ] B
833 |/
844 |/
834 o 0:4b34ecfb0d56 (draft) [ ] A
845 o 0:4b34ecfb0d56 (draft) [ ] A
835
846
836
847
837 $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
848 $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
838 comparing with ../repo-bundleoverlay
849 comparing with ../repo-bundleoverlay
839 searching for changes
850 searching for changes
840 1:44526ebb0f98 (draft) [ ] B
851 1:44526ebb0f98 (draft) [ ] B
841 2:c186d7714947 (draft) [tip ] C
852 2:c186d7714947 (draft) [tip ] C
842 $ hg log -G -R ../bundleoverlay.hg
853 $ hg log -G -R ../bundleoverlay.hg
843 o 4:c186d7714947 (draft) [tip ] C
854 o 4:c186d7714947 (draft) [tip ] C
844 |
855 |
845 | @ 3:b7d587542d40 (draft) [ ] B+
856 | @ 3:b7d587542d40 (draft) [ ] B+
846 |/
857 |/
847 o 0:4b34ecfb0d56 (draft) [ ] A
858 o 0:4b34ecfb0d56 (draft) [ ] A
848
859
849
860
850 #if serve
861 #if serve
851
862
852 Test issue 4506
863 Test issue 4506
853
864
854 $ cd ..
865 $ cd ..
855 $ hg init repo-issue4506
866 $ hg init repo-issue4506
856 $ cd repo-issue4506
867 $ cd repo-issue4506
857 $ echo "0" > foo
868 $ echo "0" > foo
858 $ hg add foo
869 $ hg add foo
859 $ hg ci -m "content-0"
870 $ hg ci -m "content-0"
860
871
861 $ hg up null
872 $ hg up null
862 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
873 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
863 $ echo "1" > bar
874 $ echo "1" > bar
864 $ hg add bar
875 $ hg add bar
865 $ hg ci -m "content-1"
876 $ hg ci -m "content-1"
866 created new head
877 created new head
867 $ hg up 0
878 $ hg up 0
868 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
879 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
869 $ hg graft 1
880 $ hg graft 1
870 grafting 1:1c9eddb02162 "content-1" (tip)
881 grafting 1:1c9eddb02162 "content-1" (tip)
871
882
872 $ hg debugobsolete `hg log -r1 -T'{node}'` `hg log -r2 -T'{node}'`
883 $ hg debugobsolete `hg log -r1 -T'{node}'` `hg log -r2 -T'{node}'`
873
884
874 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
885 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
875 $ cat hg.pid >> $DAEMON_PIDS
886 $ cat hg.pid >> $DAEMON_PIDS
876
887
877 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/1'
888 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'rev/1'
878 404 Not Found
889 404 Not Found
879 [1]
890 [1]
880 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'file/tip/bar'
891 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'file/tip/bar'
881 200 Script output follows
892 200 Script output follows
882 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'annotate/tip/bar'
893 $ "$TESTDIR/get-with-headers.py" --headeronly localhost:$HGPORT 'annotate/tip/bar'
883 200 Script output follows
894 200 Script output follows
884
895
885 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
896 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
886
897
887 #endif
898 #endif
888
899
889 Test heads computation on pending index changes with obsolescence markers
900 Test heads computation on pending index changes with obsolescence markers
890 $ cd ..
901 $ cd ..
891 $ cat >$TESTTMP/test_extension.py << EOF
902 $ cat >$TESTTMP/test_extension.py << EOF
892 > from mercurial import cmdutil
903 > from mercurial import cmdutil
893 > from mercurial.i18n import _
904 > from mercurial.i18n import _
894 >
905 >
895 > cmdtable = {}
906 > cmdtable = {}
896 > command = cmdutil.command(cmdtable)
907 > command = cmdutil.command(cmdtable)
897 > @command("amendtransient",[], _('hg amendtransient [rev]'))
908 > @command("amendtransient",[], _('hg amendtransient [rev]'))
898 > def amend(ui, repo, *pats, **opts):
909 > def amend(ui, repo, *pats, **opts):
899 > def commitfunc(ui, repo, message, match, opts):
910 > def commitfunc(ui, repo, message, match, opts):
900 > return repo.commit(message, repo['.'].user(), repo['.'].date(), match)
911 > return repo.commit(message, repo['.'].user(), repo['.'].date(), match)
901 > opts['message'] = 'Test'
912 > opts['message'] = 'Test'
902 > opts['logfile'] = None
913 > opts['logfile'] = None
903 > cmdutil.amend(ui, repo, commitfunc, repo['.'], {}, pats, opts)
914 > cmdutil.amend(ui, repo, commitfunc, repo['.'], {}, pats, opts)
904 > print repo.changelog.headrevs()
915 > print repo.changelog.headrevs()
905 > EOF
916 > EOF
906 $ cat >> $HGRCPATH << EOF
917 $ cat >> $HGRCPATH << EOF
907 > [extensions]
918 > [extensions]
908 > testextension=$TESTTMP/test_extension.py
919 > testextension=$TESTTMP/test_extension.py
909 > EOF
920 > EOF
910 $ hg init repo-issue-nativerevs-pending-changes
921 $ hg init repo-issue-nativerevs-pending-changes
911 $ cd repo-issue-nativerevs-pending-changes
922 $ cd repo-issue-nativerevs-pending-changes
912 $ mkcommit a
923 $ mkcommit a
913 $ mkcommit b
924 $ mkcommit b
914 $ hg up ".^"
925 $ hg up ".^"
915 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
926 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
916 $ echo aa > a
927 $ echo aa > a
917 $ hg amendtransient
928 $ hg amendtransient
918 [1, 3]
929 [1, 3]
General Comments 0
You need to be logged in to leave comments. Login now