##// END OF EJS Templates
obsfate: add obsfate to default mapfile...
Boris Feld -
r34854:962f7df2 default
parent child Browse files
Show More
@@ -1,87 +1,91 b''
1 1 # Base templates. Due to name clashes with existing keywords, we have
2 2 # to replace some keywords with 'lkeyword', for 'labelled keyword'
3 3
4 4 [templates]
5 changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{summary}\n'
5 changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lobsfate}{summary}\n'
6 6 changeset_quiet = '{lnode}'
7 changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lfiles}{lfile_copies_switch}{description}\n'
8 changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{ltroubles}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n'
7 changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{ltroubles}{lobsfate}{lfiles}{lfile_copies_switch}{description}\n'
8 changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{ltroubles}{lobsfate}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n'
9 9
10 10 # File templates
11 11 lfiles = '{if(files,
12 12 label("ui.note log.files",
13 13 "files: {files}\n"))}'
14 14
15 15 lfile_mods = '{if(file_mods,
16 16 label("ui.debug log.files",
17 17 "files: {file_mods}\n"))}'
18 18
19 19 lfile_adds = '{if(file_adds,
20 20 label("ui.debug log.files",
21 21 "files+: {file_adds}\n"))}'
22 22
23 23 lfile_dels = '{if(file_dels,
24 24 label("ui.debug log.files",
25 25 "files-: {file_dels}\n"))}'
26 26
27 27 lfile_copies_switch = '{if(file_copies_switch,
28 28 label("ui.note log.copies",
29 29 "copies: {file_copies_switch
30 30 % ' {name} ({source})'}\n"))}'
31 31
32 32 # General templates
33 33 cset = '{labelcset("changeset: {rev}:{node|short}")}\n'
34 34 fullcset = '{labelcset("changeset: {rev}:{node}")}\n'
35 35
36 36 lphase = '{label("log.phase",
37 37 "phase: {phase}")}\n'
38 38
39 39 parent = '{label("log.parent changeset.{phase}",
40 40 "parent: {rev}:{node|formatnode}")}\n'
41 41
42 42 lnode = '{label("log.node",
43 43 "{rev}:{node|short}")}\n'
44 44
45 45 manifest = '{label("ui.debug log.manifest",
46 46 "manifest: {rev}:{node}")}\n'
47 47
48 48 branch = '{label("log.branch",
49 49 "branch: {branch}")}\n'
50 50
51 51 tag = '{label("log.tag",
52 52 "tag: {tag}")}\n'
53 53
54 54 bookmark = '{label("log.bookmark",
55 55 "bookmark: {bookmark}")}\n'
56 56
57 57 user = '{label("log.user",
58 58 "user: {author}")}\n'
59 59
60 60 summary = '{if(desc|strip, "{label('log.summary',
61 61 'summary: {desc|firstline}')}\n")}'
62 62
63 63 ldate = '{label("log.date",
64 64 "date: {date|date}")}\n'
65 65
66 66 ltroubles = '{if(instabilities, "{label('log.instability',
67 67 'instability: {join(instabilities, ", ")}')}\n")}'
68 68
69 69 extra = '{label("ui.debug log.extra",
70 70 "extra: {key}={value|stringescape}")}\n'
71 71
72 72 description = '{if(desc|strip, "{label('ui.note log.description',
73 73 'description:')}
74 74 {label('ui.note log.description',
75 75 '{desc|strip}')}\n\n")}'
76 76
77 77 status = '{status} {path}\n{if(copy, " {copy}\n")}'
78 78
79 # Obsfate templates, it would be removed once we introduce the obsfate
80 # template fragment
81 lobsfate = '{if(obsfate, "{label('log.obsfate', '{obsfate % "obsfate: {fate}\n"}')}")}'
82
79 83 [templatealias]
80 84 labelcset(expr) = label(separate(" ",
81 85 "log.changeset",
82 86 "changeset.{phase}",
83 87 if(obsolete, "changeset.obsolete"),
84 88 if(instabilities, "changeset.unstable"),
85 89 join(instabilities
86 90 % "instability.{instability}", " ")),
87 91 expr)
@@ -1,2170 +1,2545 b''
1 1 This test file test the various templates related to obsmarkers.
2 2
3 3 Global setup
4 4 ============
5 5
6 6 $ . $TESTDIR/testlib/obsmarker-common.sh
7 7 $ cat >> $HGRCPATH <<EOF
8 8 > [ui]
9 9 > interactive = true
10 10 > [phases]
11 11 > publish=False
12 12 > [experimental]
13 13 > stabilization=all
14 14 > [templates]
15 15 > obsfatesuccessors = "{if(successors, " as ")}{join(successors, ", ")}"
16 16 > obsfateverb = "{obsfateverb(successors)}"
17 17 > obsfateoperations = "{if(obsfateoperations(markers), " using {join(obsfateoperations(markers), ", ")}")}"
18 18 > obsfateusers = "{if(obsfateusers(markers), " by {join(obsfateusers(markers), ", ")}")}"
19 19 > obsfatedate = "{if(obsfatedate(markers), "{ifeq(min(obsfatedate(markers)), max(obsfatedate(markers)), " (at {min(obsfatedate(markers))|isodate})", " (between {min(obsfatedate(markers))|isodate} and {max(obsfatedate(markers))|isodate})")}")}"
20 20 > obsfatetempl = "{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}; "
21 21 > [alias]
22 22 > tlog = log -G -T '{node|short}\
23 23 > {if(predecessors, "\n Predecessors: {predecessors}")}\
24 24 > {if(predecessors, "\n semi-colon: {join(predecessors, "; ")}")}\
25 25 > {if(predecessors, "\n json: {predecessors|json}")}\
26 26 > {if(predecessors, "\n map: {join(predecessors % "{rev}:{node}", " ")}")}\
27 27 > {if(successorssets, "\n Successors: {successorssets}")}\
28 28 > {if(successorssets, "\n multi-line: {join(successorssets, "\n multi-line: ")}")}\
29 29 > {if(successorssets, "\n json: {successorssets|json}")}\n'
30 30 > fatelog = log -G -T '{node|short}\n{if(succsandmarkers, " Obsfate: {succsandmarkers % "{obsfatetempl}"} \n" )}'
31 31 > fatelogjson = log -G -T '{node|short}\n{if(succsandmarkers, " Obsfate: {succsandmarkers|json}\n")}'
32 32 > fatelogkw = log -G -T '{node|short}\n{if(obsfate, "{obsfate % " Obsfate: {fate}\n"}")}'
33 33 > EOF
34 34
35 35 Test templates on amended commit
36 36 ================================
37 37
38 38 Test setup
39 39 ----------
40 40
41 41 $ hg init $TESTTMP/templates-local-amend
42 42 $ cd $TESTTMP/templates-local-amend
43 43 $ mkcommit ROOT
44 44 $ mkcommit A0
45 45 $ echo 42 >> A0
46 46 $ hg commit --amend -m "A1" --config devel.default-date="1234567890 0"
47 47 $ hg commit --amend -m "A2" --config devel.default-date="987654321 0" --config devel.user.obsmarker=test2
48 48
49 49 $ hg log --hidden -G
50 50 @ changeset: 3:d004c8f274b9
51 51 | tag: tip
52 52 | parent: 0:ea207398892e
53 53 | user: test
54 54 | date: Thu Jan 01 00:00:00 1970 +0000
55 55 | summary: A2
56 56 |
57 57 | x changeset: 2:a468dc9b3633
58 58 |/ parent: 0:ea207398892e
59 59 | user: test
60 60 | date: Thu Jan 01 00:00:00 1970 +0000
61 61 | obsfate: rewritten using amend as 3:d004c8f274b9 by test2
62 62 | summary: A1
63 63 |
64 64 | x changeset: 1:471f378eab4c
65 65 |/ user: test
66 66 | date: Thu Jan 01 00:00:00 1970 +0000
67 67 | obsfate: rewritten using amend as 2:a468dc9b3633
68 68 | summary: A0
69 69 |
70 70 o changeset: 0:ea207398892e
71 71 user: test
72 72 date: Thu Jan 01 00:00:00 1970 +0000
73 73 summary: ROOT
74 74
75 75 Check templates
76 76 ---------------
77 77 $ hg up 'desc(A0)' --hidden
78 78 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
79 79
80 80 Predecessors template should show current revision as it is the working copy
81 81 $ hg tlog
82 82 o d004c8f274b9
83 83 | Predecessors: 1:471f378eab4c
84 84 | semi-colon: 1:471f378eab4c
85 85 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
86 86 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
87 87 | @ 471f378eab4c
88 88 |/ Successors: 3:d004c8f274b9
89 89 | multi-line: 3:d004c8f274b9
90 90 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
91 91 o ea207398892e
92 92
93 93 $ hg fatelog
94 94 o d004c8f274b9
95 95 |
96 96 | @ 471f378eab4c
97 97 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2 (between 2001-04-19 04:25 +0000 and 2009-02-13 23:31 +0000);
98 98 o ea207398892e
99 99
100 100
101 101 $ hg fatelogkw
102 102 o d004c8f274b9
103 103 |
104 104 | @ 471f378eab4c
105 105 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2
106 106 o ea207398892e
107 107
108 108
109 109 $ hg log -G --config ui.logtemplate=
110 110 o changeset: 3:d004c8f274b9
111 111 | tag: tip
112 112 | parent: 0:ea207398892e
113 113 | user: test
114 114 | date: Thu Jan 01 00:00:00 1970 +0000
115 115 | summary: A2
116 116 |
117 117 | @ changeset: 1:471f378eab4c
118 118 |/ user: test
119 119 | date: Thu Jan 01 00:00:00 1970 +0000
120 | obsfate: rewritten using amend as 3:d004c8f274b9 by test2
120 | obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2
121 | summary: A0
122 |
123 o changeset: 0:ea207398892e
124 user: test
125 date: Thu Jan 01 00:00:00 1970 +0000
126 summary: ROOT
127
128
129 $ hg log -G -T "default"
130 o changeset: 3:d004c8f274b9
131 | tag: tip
132 | parent: 0:ea207398892e
133 | user: test
134 | date: Thu Jan 01 00:00:00 1970 +0000
135 | summary: A2
136 |
137 | @ changeset: 1:471f378eab4c
138 |/ user: test
139 | date: Thu Jan 01 00:00:00 1970 +0000
140 | obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2
121 141 | summary: A0
122 142 |
123 143 o changeset: 0:ea207398892e
124 144 user: test
125 145 date: Thu Jan 01 00:00:00 1970 +0000
126 146 summary: ROOT
127 147
128 148 $ hg up 'desc(A1)' --hidden
129 149 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
130 150
131 151 Predecessors template should show current revision as it is the working copy
132 152 $ hg tlog
133 153 o d004c8f274b9
134 154 | Predecessors: 2:a468dc9b3633
135 155 | semi-colon: 2:a468dc9b3633
136 156 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
137 157 | map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad
138 158 | @ a468dc9b3633
139 159 |/ Successors: 3:d004c8f274b9
140 160 | multi-line: 3:d004c8f274b9
141 161 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
142 162 o ea207398892e
143 163
144 164 $ hg fatelog
145 165 o d004c8f274b9
146 166 |
147 167 | @ a468dc9b3633
148 168 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000);
149 169 o ea207398892e
150 170
151 171 Predecessors template should show all the predecessors as we force their display
152 172 with --hidden
153 173 $ hg tlog --hidden
154 174 o d004c8f274b9
155 175 | Predecessors: 2:a468dc9b3633
156 176 | semi-colon: 2:a468dc9b3633
157 177 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
158 178 | map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad
159 179 | @ a468dc9b3633
160 180 |/ Predecessors: 1:471f378eab4c
161 181 | semi-colon: 1:471f378eab4c
162 182 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
163 183 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
164 184 | Successors: 3:d004c8f274b9
165 185 | multi-line: 3:d004c8f274b9
166 186 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
167 187 | x 471f378eab4c
168 188 |/ Successors: 2:a468dc9b3633
169 189 | multi-line: 2:a468dc9b3633
170 190 | json: [["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]]
171 191 o ea207398892e
172 192
173 193 $ hg fatelog --hidden
174 194 o d004c8f274b9
175 195 |
176 196 | @ a468dc9b3633
177 197 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000);
178 198 | x 471f378eab4c
179 199 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000);
180 200 o ea207398892e
181 201
182 202
183 203 Predecessors template shouldn't show anything as all obsolete commit are not
184 204 visible.
185 205 $ hg up 'desc(A2)'
186 206 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
187 207 $ hg tlog
188 208 @ d004c8f274b9
189 209 |
190 210 o ea207398892e
191 211
192 212 $ hg tlog --hidden
193 213 @ d004c8f274b9
194 214 | Predecessors: 2:a468dc9b3633
195 215 | semi-colon: 2:a468dc9b3633
196 216 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
197 217 | map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad
198 218 | x a468dc9b3633
199 219 |/ Predecessors: 1:471f378eab4c
200 220 | semi-colon: 1:471f378eab4c
201 221 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
202 222 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
203 223 | Successors: 3:d004c8f274b9
204 224 | multi-line: 3:d004c8f274b9
205 225 | json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
206 226 | x 471f378eab4c
207 227 |/ Successors: 2:a468dc9b3633
208 228 | multi-line: 2:a468dc9b3633
209 229 | json: [["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]]
210 230 o ea207398892e
211 231
212 232 $ hg fatelog
213 233 @ d004c8f274b9
214 234 |
215 235 o ea207398892e
216 236
217 237
218 238 $ hg fatelog --hidden
219 239 @ d004c8f274b9
220 240 |
221 241 | x a468dc9b3633
222 242 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000);
223 243 | x 471f378eab4c
224 244 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000);
225 245 o ea207398892e
226 246
227 247 $ hg fatelogjson --hidden
228 248 @ d004c8f274b9
229 249 |
230 250 | x a468dc9b3633
231 251 |/ Obsfate: [{"markers": [["a468dc9b36338b14fdb7825f55ce3df4e71517ad", ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], 0, [["operation", "amend"], ["user", "test2"]], [987654321.0, 0], null]], "successors": ["d004c8f274b9ec480a47a93c10dac5eee63adb78"]}]
232 252 | x 471f378eab4c
233 253 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], 0, [["operation", "amend"], ["user", "test"]], [1234567890.0, 0], null]], "successors": ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]}]
234 254 o ea207398892e
235 255
236 256
237 257 Check other fatelog implementations
238 258 -----------------------------------
239 259
240 260 $ hg fatelogkw --hidden -q
241 261 @ d004c8f274b9
242 262 |
243 263 | x a468dc9b3633
244 264 |/ Obsfate: rewritten using amend as 3:d004c8f274b9
245 265 | x 471f378eab4c
246 266 |/ Obsfate: rewritten using amend as 2:a468dc9b3633
247 267 o ea207398892e
248 268
249 269 $ hg fatelogkw --hidden
250 270 @ d004c8f274b9
251 271 |
252 272 | x a468dc9b3633
253 273 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2
254 274 | x 471f378eab4c
255 275 |/ Obsfate: rewritten using amend as 2:a468dc9b3633
256 276 o ea207398892e
257 277
258 278 $ hg fatelogkw --hidden -v
259 279 @ d004c8f274b9
260 280 |
261 281 | x a468dc9b3633
262 282 |/ Obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000)
263 283 | x 471f378eab4c
264 284 |/ Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000)
265 285 o ea207398892e
266 286
287
288 $ hg log -G -T "default" --hidden
289 @ changeset: 3:d004c8f274b9
290 | tag: tip
291 | parent: 0:ea207398892e
292 | user: test
293 | date: Thu Jan 01 00:00:00 1970 +0000
294 | summary: A2
295 |
296 | x changeset: 2:a468dc9b3633
297 |/ parent: 0:ea207398892e
298 | user: test
299 | date: Thu Jan 01 00:00:00 1970 +0000
300 | obsfate: rewritten using amend as 3:d004c8f274b9 by test2
301 | summary: A1
302 |
303 | x changeset: 1:471f378eab4c
304 |/ user: test
305 | date: Thu Jan 01 00:00:00 1970 +0000
306 | obsfate: rewritten using amend as 2:a468dc9b3633
307 | summary: A0
308 |
309 o changeset: 0:ea207398892e
310 user: test
311 date: Thu Jan 01 00:00:00 1970 +0000
312 summary: ROOT
313
314 $ hg log -G -T "default" --hidden -v
315 @ changeset: 3:d004c8f274b9
316 | tag: tip
317 | parent: 0:ea207398892e
318 | user: test
319 | date: Thu Jan 01 00:00:00 1970 +0000
320 | files: A0
321 | description:
322 | A2
323 |
324 |
325 | x changeset: 2:a468dc9b3633
326 |/ parent: 0:ea207398892e
327 | user: test
328 | date: Thu Jan 01 00:00:00 1970 +0000
329 | obsfate: rewritten using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000)
330 | files: A0
331 | description:
332 | A1
333 |
334 |
335 | x changeset: 1:471f378eab4c
336 |/ user: test
337 | date: Thu Jan 01 00:00:00 1970 +0000
338 | obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000)
339 | files: A0
340 | description:
341 | A0
342 |
343 |
344 o changeset: 0:ea207398892e
345 user: test
346 date: Thu Jan 01 00:00:00 1970 +0000
347 files: ROOT
348 description:
349 ROOT
350
351
267 352 Test templates with splitted commit
268 353 ===================================
269 354
270 355 $ hg init $TESTTMP/templates-local-split
271 356 $ cd $TESTTMP/templates-local-split
272 357 $ mkcommit ROOT
273 358 $ echo 42 >> a
274 359 $ echo 43 >> b
275 360 $ hg commit -A -m "A0"
276 361 adding a
277 362 adding b
278 363 $ hg log --hidden -G
279 364 @ changeset: 1:471597cad322
280 365 | tag: tip
281 366 | user: test
282 367 | date: Thu Jan 01 00:00:00 1970 +0000
283 368 | summary: A0
284 369 |
285 370 o changeset: 0:ea207398892e
286 371 user: test
287 372 date: Thu Jan 01 00:00:00 1970 +0000
288 373 summary: ROOT
289 374
290 375 # Simulate split
291 376 $ hg up -r "desc(ROOT)"
292 377 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
293 378 $ echo 42 >> a
294 379 $ hg commit -A -m "A0"
295 380 adding a
296 381 created new head
297 382 $ echo 43 >> b
298 383 $ hg commit -A -m "A0"
299 384 adding b
300 385 $ hg debugobsolete `getid "1"` `getid "2"` `getid "3"`
301 386 obsoleted 1 changesets
302 387
303 388 $ hg log --hidden -G
304 389 @ changeset: 3:f257fde29c7a
305 390 | tag: tip
306 391 | user: test
307 392 | date: Thu Jan 01 00:00:00 1970 +0000
308 393 | summary: A0
309 394 |
310 395 o changeset: 2:337fec4d2edc
311 396 | parent: 0:ea207398892e
312 397 | user: test
313 398 | date: Thu Jan 01 00:00:00 1970 +0000
314 399 | summary: A0
315 400 |
316 401 | x changeset: 1:471597cad322
317 402 |/ user: test
318 403 | date: Thu Jan 01 00:00:00 1970 +0000
319 404 | obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a
320 405 | summary: A0
321 406 |
322 407 o changeset: 0:ea207398892e
323 408 user: test
324 409 date: Thu Jan 01 00:00:00 1970 +0000
325 410 summary: ROOT
326 411
327 412 Check templates
328 413 ---------------
329 414
330 415 $ hg up 'obsolete()' --hidden
331 416 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
332 417
333 418 Predecessors template should show current revision as it is the working copy
334 419 $ hg tlog
335 420 o f257fde29c7a
336 421 | Predecessors: 1:471597cad322
337 422 | semi-colon: 1:471597cad322
338 423 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
339 424 | map: 1:471597cad322d1f659bb169751be9133dad92ef3
340 425 o 337fec4d2edc
341 426 | Predecessors: 1:471597cad322
342 427 | semi-colon: 1:471597cad322
343 428 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
344 429 | map: 1:471597cad322d1f659bb169751be9133dad92ef3
345 430 | @ 471597cad322
346 431 |/ Successors: 2:337fec4d2edc 3:f257fde29c7a
347 432 | multi-line: 2:337fec4d2edc 3:f257fde29c7a
348 433 | json: [["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]]
349 434 o ea207398892e
350 435
351 436
352 437 $ hg fatelog
353 438 o f257fde29c7a
354 439 |
355 440 o 337fec4d2edc
356 441 |
357 442 | @ 471597cad322
358 443 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test (at 1970-01-01 00:00 +0000);
359 444 o ea207398892e
360 445
361 446 $ hg up f257fde29c7a
362 447 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
363 448
364 449 Predecessors template should not show a predecessor as it's not displayed in
365 450 the log
366 451 $ hg tlog
367 452 @ f257fde29c7a
368 453 |
369 454 o 337fec4d2edc
370 455 |
371 456 o ea207398892e
372 457
373 458 Predecessors template should show both predecessors as we force their display
374 459 with --hidden
375 460 $ hg tlog --hidden
376 461 @ f257fde29c7a
377 462 | Predecessors: 1:471597cad322
378 463 | semi-colon: 1:471597cad322
379 464 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
380 465 | map: 1:471597cad322d1f659bb169751be9133dad92ef3
381 466 o 337fec4d2edc
382 467 | Predecessors: 1:471597cad322
383 468 | semi-colon: 1:471597cad322
384 469 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
385 470 | map: 1:471597cad322d1f659bb169751be9133dad92ef3
386 471 | x 471597cad322
387 472 |/ Successors: 2:337fec4d2edc 3:f257fde29c7a
388 473 | multi-line: 2:337fec4d2edc 3:f257fde29c7a
389 474 | json: [["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]]
390 475 o ea207398892e
391 476
392 477
393 478 $ hg fatelog --hidden
394 479 @ f257fde29c7a
395 480 |
396 481 o 337fec4d2edc
397 482 |
398 483 | x 471597cad322
399 484 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test (at 1970-01-01 00:00 +0000);
400 485 o ea207398892e
401 486
402 487 $ hg fatelogjson --hidden
403 488 @ f257fde29c7a
404 489 |
405 490 o 337fec4d2edc
406 491 |
407 492 | x 471597cad322
408 493 |/ Obsfate: [{"markers": [["471597cad322d1f659bb169751be9133dad92ef3", ["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]}]
409 494 o ea207398892e
410 495
411 496 Check other fatelog implementations
412 497 -----------------------------------
413 498
414 499 $ hg fatelogkw --hidden -q
415 500 @ f257fde29c7a
416 501 |
417 502 o 337fec4d2edc
418 503 |
419 504 | x 471597cad322
420 505 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a
421 506 o ea207398892e
422 507
423 508 $ hg fatelogkw --hidden
424 509 @ f257fde29c7a
425 510 |
426 511 o 337fec4d2edc
427 512 |
428 513 | x 471597cad322
429 514 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a
430 515 o ea207398892e
431 516
432 517 $ hg fatelogkw --hidden -v
433 518 @ f257fde29c7a
434 519 |
435 520 o 337fec4d2edc
436 521 |
437 522 | x 471597cad322
438 523 |/ Obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a by test (at 1970-01-01 00:00 +0000)
439 524 o ea207398892e
440 525
441 526
527 $ hg log -G -T "default" --hidden
528 @ changeset: 3:f257fde29c7a
529 | tag: tip
530 | user: test
531 | date: Thu Jan 01 00:00:00 1970 +0000
532 | summary: A0
533 |
534 o changeset: 2:337fec4d2edc
535 | parent: 0:ea207398892e
536 | user: test
537 | date: Thu Jan 01 00:00:00 1970 +0000
538 | summary: A0
539 |
540 | x changeset: 1:471597cad322
541 |/ user: test
542 | date: Thu Jan 01 00:00:00 1970 +0000
543 | obsfate: split as 2:337fec4d2edc, 3:f257fde29c7a
544 | summary: A0
545 |
546 o changeset: 0:ea207398892e
547 user: test
548 date: Thu Jan 01 00:00:00 1970 +0000
549 summary: ROOT
550
551
442 552 Test templates with folded commit
443 553 =================================
444 554
445 555 Test setup
446 556 ----------
447 557
448 558 $ hg init $TESTTMP/templates-local-fold
449 559 $ cd $TESTTMP/templates-local-fold
450 560 $ mkcommit ROOT
451 561 $ mkcommit A0
452 562 $ mkcommit B0
453 563 $ hg log --hidden -G
454 564 @ changeset: 2:0dec01379d3b
455 565 | tag: tip
456 566 | user: test
457 567 | date: Thu Jan 01 00:00:00 1970 +0000
458 568 | summary: B0
459 569 |
460 570 o changeset: 1:471f378eab4c
461 571 | user: test
462 572 | date: Thu Jan 01 00:00:00 1970 +0000
463 573 | summary: A0
464 574 |
465 575 o changeset: 0:ea207398892e
466 576 user: test
467 577 date: Thu Jan 01 00:00:00 1970 +0000
468 578 summary: ROOT
469 579
470 580 Simulate a fold
471 581 $ hg up -r "desc(ROOT)"
472 582 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
473 583 $ echo "A0" > A0
474 584 $ echo "B0" > B0
475 585 $ hg commit -A -m "C0"
476 586 adding A0
477 587 adding B0
478 588 created new head
479 589 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(C0)"`
480 590 obsoleted 1 changesets
481 591 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(C0)"`
482 592 obsoleted 1 changesets
483 593
484 594 $ hg log --hidden -G
485 595 @ changeset: 3:eb5a0daa2192
486 596 | tag: tip
487 597 | parent: 0:ea207398892e
488 598 | user: test
489 599 | date: Thu Jan 01 00:00:00 1970 +0000
490 600 | summary: C0
491 601 |
492 602 | x changeset: 2:0dec01379d3b
493 603 | | user: test
494 604 | | date: Thu Jan 01 00:00:00 1970 +0000
495 605 | | obsfate: rewritten as 3:eb5a0daa2192
496 606 | | summary: B0
497 607 | |
498 608 | x changeset: 1:471f378eab4c
499 609 |/ user: test
500 610 | date: Thu Jan 01 00:00:00 1970 +0000
501 611 | obsfate: rewritten as 3:eb5a0daa2192
502 612 | summary: A0
503 613 |
504 614 o changeset: 0:ea207398892e
505 615 user: test
506 616 date: Thu Jan 01 00:00:00 1970 +0000
507 617 summary: ROOT
508 618
509 619 Check templates
510 620 ---------------
511 621
512 622 $ hg up 'desc(A0)' --hidden
513 623 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
514 624
515 625 Predecessors template should show current revision as it is the working copy
516 626 $ hg tlog
517 627 o eb5a0daa2192
518 628 | Predecessors: 1:471f378eab4c
519 629 | semi-colon: 1:471f378eab4c
520 630 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
521 631 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
522 632 | @ 471f378eab4c
523 633 |/ Successors: 3:eb5a0daa2192
524 634 | multi-line: 3:eb5a0daa2192
525 635 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
526 636 o ea207398892e
527 637
528 638
529 639 $ hg fatelog
530 640 o eb5a0daa2192
531 641 |
532 642 | @ 471f378eab4c
533 643 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
534 644 o ea207398892e
535 645
536 646 $ hg up 'desc(B0)' --hidden
537 647 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
538 648
539 649 Predecessors template should show both predecessors as they should be both
540 650 displayed
541 651 $ hg tlog
542 652 o eb5a0daa2192
543 653 | Predecessors: 2:0dec01379d3b 1:471f378eab4c
544 654 | semi-colon: 2:0dec01379d3b; 1:471f378eab4c
545 655 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
546 656 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874
547 657 | @ 0dec01379d3b
548 658 | | Successors: 3:eb5a0daa2192
549 659 | | multi-line: 3:eb5a0daa2192
550 660 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
551 661 | x 471f378eab4c
552 662 |/ Successors: 3:eb5a0daa2192
553 663 | multi-line: 3:eb5a0daa2192
554 664 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
555 665 o ea207398892e
556 666
557 667
558 668 $ hg fatelog
559 669 o eb5a0daa2192
560 670 |
561 671 | @ 0dec01379d3b
562 672 | | Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
563 673 | x 471f378eab4c
564 674 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
565 675 o ea207398892e
566 676
567 677 $ hg up 'desc(C0)'
568 678 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
569 679
570 680 Predecessors template should not show predecessors as they are not displayed in
571 681 the log
572 682 $ hg tlog
573 683 @ eb5a0daa2192
574 684 |
575 685 o ea207398892e
576 686
577 687 Predecessors template should show both predecessors as we force their display
578 688 with --hidden
579 689 $ hg tlog --hidden
580 690 @ eb5a0daa2192
581 691 | Predecessors: 2:0dec01379d3b 1:471f378eab4c
582 692 | semi-colon: 2:0dec01379d3b; 1:471f378eab4c
583 693 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
584 694 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874
585 695 | x 0dec01379d3b
586 696 | | Successors: 3:eb5a0daa2192
587 697 | | multi-line: 3:eb5a0daa2192
588 698 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
589 699 | x 471f378eab4c
590 700 |/ Successors: 3:eb5a0daa2192
591 701 | multi-line: 3:eb5a0daa2192
592 702 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
593 703 o ea207398892e
594 704
595 705
596 706 $ hg fatelog --hidden
597 707 @ eb5a0daa2192
598 708 |
599 709 | x 0dec01379d3b
600 710 | | Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
601 711 | x 471f378eab4c
602 712 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
603 713 o ea207398892e
604 714
605 715
606 716 $ hg fatelogjson --hidden
607 717 @ eb5a0daa2192
608 718 |
609 719 | x 0dec01379d3b
610 720 | | Obsfate: [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}]
611 721 | x 471f378eab4c
612 722 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}]
613 723 o ea207398892e
614 724
615 725 Check other fatelog implementations
616 726 -----------------------------------
617 727
618 728 $ hg fatelogkw --hidden -q
619 729 @ eb5a0daa2192
620 730 |
621 731 | x 0dec01379d3b
622 732 | | Obsfate: rewritten as 3:eb5a0daa2192
623 733 | x 471f378eab4c
624 734 |/ Obsfate: rewritten as 3:eb5a0daa2192
625 735 o ea207398892e
626 736
627 737 $ hg fatelogkw --hidden
628 738 @ eb5a0daa2192
629 739 |
630 740 | x 0dec01379d3b
631 741 | | Obsfate: rewritten as 3:eb5a0daa2192
632 742 | x 471f378eab4c
633 743 |/ Obsfate: rewritten as 3:eb5a0daa2192
634 744 o ea207398892e
635 745
636 746 $ hg fatelogkw --hidden -v
637 747 @ eb5a0daa2192
638 748 |
639 749 | x 0dec01379d3b
640 750 | | Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000)
641 751 | x 471f378eab4c
642 752 |/ Obsfate: rewritten as 3:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000)
643 753 o ea207398892e
644 754
755 $ hg log -G -T "default" --hidden
756 @ changeset: 3:eb5a0daa2192
757 | tag: tip
758 | parent: 0:ea207398892e
759 | user: test
760 | date: Thu Jan 01 00:00:00 1970 +0000
761 | summary: C0
762 |
763 | x changeset: 2:0dec01379d3b
764 | | user: test
765 | | date: Thu Jan 01 00:00:00 1970 +0000
766 | | obsfate: rewritten as 3:eb5a0daa2192
767 | | summary: B0
768 | |
769 | x changeset: 1:471f378eab4c
770 |/ user: test
771 | date: Thu Jan 01 00:00:00 1970 +0000
772 | obsfate: rewritten as 3:eb5a0daa2192
773 | summary: A0
774 |
775 o changeset: 0:ea207398892e
776 user: test
777 date: Thu Jan 01 00:00:00 1970 +0000
778 summary: ROOT
779
645 780
646 781 Test templates with divergence
647 782 ==============================
648 783
649 784 Test setup
650 785 ----------
651 786
652 787 $ hg init $TESTTMP/templates-local-divergence
653 788 $ cd $TESTTMP/templates-local-divergence
654 789 $ mkcommit ROOT
655 790 $ mkcommit A0
656 791 $ hg commit --amend -m "A1"
657 792 $ hg log --hidden -G
658 793 @ changeset: 2:fdf9bde5129a
659 794 | tag: tip
660 795 | parent: 0:ea207398892e
661 796 | user: test
662 797 | date: Thu Jan 01 00:00:00 1970 +0000
663 798 | summary: A1
664 799 |
665 800 | x changeset: 1:471f378eab4c
666 801 |/ user: test
667 802 | date: Thu Jan 01 00:00:00 1970 +0000
668 803 | obsfate: rewritten using amend as 2:fdf9bde5129a
669 804 | summary: A0
670 805 |
671 806 o changeset: 0:ea207398892e
672 807 user: test
673 808 date: Thu Jan 01 00:00:00 1970 +0000
674 809 summary: ROOT
675 810
676 811 $ hg update --hidden 'desc(A0)'
677 812 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
678 813 $ hg commit --amend -m "A2"
679 814 $ hg log --hidden -G
680 815 @ changeset: 3:65b757b745b9
681 816 | tag: tip
682 817 | parent: 0:ea207398892e
683 818 | user: test
684 819 | date: Thu Jan 01 00:00:00 1970 +0000
685 820 | instability: content-divergent
686 821 | summary: A2
687 822 |
688 823 | o changeset: 2:fdf9bde5129a
689 824 |/ parent: 0:ea207398892e
690 825 | user: test
691 826 | date: Thu Jan 01 00:00:00 1970 +0000
692 827 | instability: content-divergent
693 828 | summary: A1
694 829 |
695 830 | x changeset: 1:471f378eab4c
696 831 |/ user: test
697 832 | date: Thu Jan 01 00:00:00 1970 +0000
698 833 | obsfate: rewritten using amend as 2:fdf9bde5129a
699 834 | obsfate: rewritten using amend as 3:65b757b745b9
700 835 | summary: A0
701 836 |
702 837 o changeset: 0:ea207398892e
703 838 user: test
704 839 date: Thu Jan 01 00:00:00 1970 +0000
705 840 summary: ROOT
706 841
707 842 $ hg commit --amend -m 'A3'
708 843 $ hg log --hidden -G
709 844 @ changeset: 4:019fadeab383
710 845 | tag: tip
711 846 | parent: 0:ea207398892e
712 847 | user: test
713 848 | date: Thu Jan 01 00:00:00 1970 +0000
714 849 | instability: content-divergent
715 850 | summary: A3
716 851 |
717 852 | x changeset: 3:65b757b745b9
718 853 |/ parent: 0:ea207398892e
719 854 | user: test
720 855 | date: Thu Jan 01 00:00:00 1970 +0000
721 856 | obsfate: rewritten using amend as 4:019fadeab383
722 857 | summary: A2
723 858 |
724 859 | o changeset: 2:fdf9bde5129a
725 860 |/ parent: 0:ea207398892e
726 861 | user: test
727 862 | date: Thu Jan 01 00:00:00 1970 +0000
728 863 | instability: content-divergent
729 864 | summary: A1
730 865 |
731 866 | x changeset: 1:471f378eab4c
732 867 |/ user: test
733 868 | date: Thu Jan 01 00:00:00 1970 +0000
734 869 | obsfate: rewritten using amend as 2:fdf9bde5129a
735 870 | obsfate: rewritten using amend as 3:65b757b745b9
736 871 | summary: A0
737 872 |
738 873 o changeset: 0:ea207398892e
739 874 user: test
740 875 date: Thu Jan 01 00:00:00 1970 +0000
741 876 summary: ROOT
742 877
743 878
744 879 Check templates
745 880 ---------------
746 881
747 882 $ hg up 'desc(A0)' --hidden
748 883 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
749 884
750 885 Predecessors template should show current revision as it is the working copy
751 886 $ hg tlog
752 887 o 019fadeab383
753 888 | Predecessors: 1:471f378eab4c
754 889 | semi-colon: 1:471f378eab4c
755 890 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
756 891 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
757 892 | o fdf9bde5129a
758 893 |/ Predecessors: 1:471f378eab4c
759 894 | semi-colon: 1:471f378eab4c
760 895 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
761 896 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
762 897 | @ 471f378eab4c
763 898 |/ Successors: 2:fdf9bde5129a; 4:019fadeab383
764 899 | multi-line: 2:fdf9bde5129a
765 900 | multi-line: 4:019fadeab383
766 901 | json: [["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"]]
767 902 o ea207398892e
768 903
769 904 $ hg fatelog
770 905 o 019fadeab383
771 906 |
772 907 | o fdf9bde5129a
773 908 |/
774 909 | @ 471f378eab4c
775 910 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000); rewritten using amend as 4:019fadeab383 by test (at 1970-01-01 00:00 +0000);
776 911 o ea207398892e
777 912
778 913 $ hg up 'desc(A1)'
779 914 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
780 915
781 916 Predecessors template should not show predecessors as they are not displayed in
782 917 the log
783 918 $ hg tlog
784 919 o 019fadeab383
785 920 |
786 921 | @ fdf9bde5129a
787 922 |/
788 923 o ea207398892e
789 924
790 925
791 926 $ hg fatelog
792 927 o 019fadeab383
793 928 |
794 929 | @ fdf9bde5129a
795 930 |/
796 931 o ea207398892e
797 932
798 933 Predecessors template should the predecessors as we force their display with
799 934 --hidden
800 935 $ hg tlog --hidden
801 936 o 019fadeab383
802 937 | Predecessors: 3:65b757b745b9
803 938 | semi-colon: 3:65b757b745b9
804 939 | json: ["65b757b745b935093c87a2bccd877521cccffcbd"]
805 940 | map: 3:65b757b745b935093c87a2bccd877521cccffcbd
806 941 | x 65b757b745b9
807 942 |/ Predecessors: 1:471f378eab4c
808 943 | semi-colon: 1:471f378eab4c
809 944 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
810 945 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
811 946 | Successors: 4:019fadeab383
812 947 | multi-line: 4:019fadeab383
813 948 | json: [["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"]]
814 949 | @ fdf9bde5129a
815 950 |/ Predecessors: 1:471f378eab4c
816 951 | semi-colon: 1:471f378eab4c
817 952 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
818 953 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
819 954 | x 471f378eab4c
820 955 |/ Successors: 2:fdf9bde5129a; 3:65b757b745b9
821 956 | multi-line: 2:fdf9bde5129a
822 957 | multi-line: 3:65b757b745b9
823 958 | json: [["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], ["65b757b745b935093c87a2bccd877521cccffcbd"]]
824 959 o ea207398892e
825 960
826 961
827 962 $ hg fatelog --hidden
828 963 o 019fadeab383
829 964 |
830 965 | x 65b757b745b9
831 966 |/ Obsfate: rewritten using amend as 4:019fadeab383 by test (at 1970-01-01 00:00 +0000);
832 967 | @ fdf9bde5129a
833 968 |/
834 969 | x 471f378eab4c
835 970 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000); rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000);
836 971 o ea207398892e
837 972
838 973
839 974 $ hg fatelogjson --hidden
840 975 o 019fadeab383
841 976 |
842 977 | x 65b757b745b9
843 978 |/ Obsfate: [{"markers": [["65b757b745b935093c87a2bccd877521cccffcbd", ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], 0, [["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"]}]
844 979 | @ fdf9bde5129a
845 980 |/
846 981 | x 471f378eab4c
847 982 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"]}, {"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["65b757b745b935093c87a2bccd877521cccffcbd"], 0, [["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["65b757b745b935093c87a2bccd877521cccffcbd"]}]
848 983 o ea207398892e
849 984
850 985
851 986 Check other fatelog implementations
852 987 -----------------------------------
853 988
854 989 $ hg fatelogkw --hidden -q
855 990 o 019fadeab383
856 991 |
857 992 | x 65b757b745b9
858 993 |/ Obsfate: rewritten using amend as 4:019fadeab383
859 994 | @ fdf9bde5129a
860 995 |/
861 996 | x 471f378eab4c
862 997 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a
863 998 | Obsfate: rewritten using amend as 3:65b757b745b9
864 999 o ea207398892e
865 1000
866 1001 $ hg fatelogkw --hidden
867 1002 o 019fadeab383
868 1003 |
869 1004 | x 65b757b745b9
870 1005 |/ Obsfate: rewritten using amend as 4:019fadeab383
871 1006 | @ fdf9bde5129a
872 1007 |/
873 1008 | x 471f378eab4c
874 1009 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a
875 1010 | Obsfate: rewritten using amend as 3:65b757b745b9
876 1011 o ea207398892e
877 1012
878 1013 $ hg fatelogkw --hidden -v
879 1014 o 019fadeab383
880 1015 |
881 1016 | x 65b757b745b9
882 1017 |/ Obsfate: rewritten using amend as 4:019fadeab383 by test (at 1970-01-01 00:00 +0000)
883 1018 | @ fdf9bde5129a
884 1019 |/
885 1020 | x 471f378eab4c
886 1021 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000)
887 1022 | Obsfate: rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000)
888 1023 o ea207398892e
889 1024
1025 $ hg log -G -T "default" --hidden
1026 o changeset: 4:019fadeab383
1027 | tag: tip
1028 | parent: 0:ea207398892e
1029 | user: test
1030 | date: Thu Jan 01 00:00:00 1970 +0000
1031 | instability: content-divergent
1032 | summary: A3
1033 |
1034 | x changeset: 3:65b757b745b9
1035 |/ parent: 0:ea207398892e
1036 | user: test
1037 | date: Thu Jan 01 00:00:00 1970 +0000
1038 | obsfate: rewritten using amend as 4:019fadeab383
1039 | summary: A2
1040 |
1041 | @ changeset: 2:fdf9bde5129a
1042 |/ parent: 0:ea207398892e
1043 | user: test
1044 | date: Thu Jan 01 00:00:00 1970 +0000
1045 | instability: content-divergent
1046 | summary: A1
1047 |
1048 | x changeset: 1:471f378eab4c
1049 |/ user: test
1050 | date: Thu Jan 01 00:00:00 1970 +0000
1051 | obsfate: rewritten using amend as 2:fdf9bde5129a
1052 | obsfate: rewritten using amend as 3:65b757b745b9
1053 | summary: A0
1054 |
1055 o changeset: 0:ea207398892e
1056 user: test
1057 date: Thu Jan 01 00:00:00 1970 +0000
1058 summary: ROOT
1059
890 1060
891 1061 Test templates with amended + folded commit
892 1062 ===========================================
893 1063
894 1064 Test setup
895 1065 ----------
896 1066
897 1067 $ hg init $TESTTMP/templates-local-amend-fold
898 1068 $ cd $TESTTMP/templates-local-amend-fold
899 1069 $ mkcommit ROOT
900 1070 $ mkcommit A0
901 1071 $ mkcommit B0
902 1072 $ hg commit --amend -m "B1"
903 1073 $ hg log --hidden -G
904 1074 @ changeset: 3:b7ea6d14e664
905 1075 | tag: tip
906 1076 | parent: 1:471f378eab4c
907 1077 | user: test
908 1078 | date: Thu Jan 01 00:00:00 1970 +0000
909 1079 | summary: B1
910 1080 |
911 1081 | x changeset: 2:0dec01379d3b
912 1082 |/ user: test
913 1083 | date: Thu Jan 01 00:00:00 1970 +0000
914 1084 | obsfate: rewritten using amend as 3:b7ea6d14e664
915 1085 | summary: B0
916 1086 |
917 1087 o changeset: 1:471f378eab4c
918 1088 | user: test
919 1089 | date: Thu Jan 01 00:00:00 1970 +0000
920 1090 | summary: A0
921 1091 |
922 1092 o changeset: 0:ea207398892e
923 1093 user: test
924 1094 date: Thu Jan 01 00:00:00 1970 +0000
925 1095 summary: ROOT
926 1096
927 1097 # Simulate a fold
928 1098 $ hg up -r "desc(ROOT)"
929 1099 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
930 1100 $ echo "A0" > A0
931 1101 $ echo "B0" > B0
932 1102 $ hg commit -A -m "C0"
933 1103 adding A0
934 1104 adding B0
935 1105 created new head
936 1106 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(C0)"`
937 1107 obsoleted 1 changesets
938 1108 $ hg debugobsolete `getid "desc(B1)"` `getid "desc(C0)"`
939 1109 obsoleted 1 changesets
940 1110
941 1111 $ hg log --hidden -G
942 1112 @ changeset: 4:eb5a0daa2192
943 1113 | tag: tip
944 1114 | parent: 0:ea207398892e
945 1115 | user: test
946 1116 | date: Thu Jan 01 00:00:00 1970 +0000
947 1117 | summary: C0
948 1118 |
949 1119 | x changeset: 3:b7ea6d14e664
950 1120 | | parent: 1:471f378eab4c
951 1121 | | user: test
952 1122 | | date: Thu Jan 01 00:00:00 1970 +0000
953 1123 | | obsfate: rewritten as 4:eb5a0daa2192
954 1124 | | summary: B1
955 1125 | |
956 1126 | | x changeset: 2:0dec01379d3b
957 1127 | |/ user: test
958 1128 | | date: Thu Jan 01 00:00:00 1970 +0000
959 1129 | | obsfate: rewritten using amend as 3:b7ea6d14e664
960 1130 | | summary: B0
961 1131 | |
962 1132 | x changeset: 1:471f378eab4c
963 1133 |/ user: test
964 1134 | date: Thu Jan 01 00:00:00 1970 +0000
965 1135 | obsfate: rewritten as 4:eb5a0daa2192
966 1136 | summary: A0
967 1137 |
968 1138 o changeset: 0:ea207398892e
969 1139 user: test
970 1140 date: Thu Jan 01 00:00:00 1970 +0000
971 1141 summary: ROOT
972 1142
973 1143 Check templates
974 1144 ---------------
975 1145
976 1146 $ hg up 'desc(A0)' --hidden
977 1147 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
978 1148
979 1149 Predecessors template should show current revision as it is the working copy
980 1150 $ hg tlog
981 1151 o eb5a0daa2192
982 1152 | Predecessors: 1:471f378eab4c
983 1153 | semi-colon: 1:471f378eab4c
984 1154 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
985 1155 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
986 1156 | @ 471f378eab4c
987 1157 |/ Successors: 4:eb5a0daa2192
988 1158 | multi-line: 4:eb5a0daa2192
989 1159 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
990 1160 o ea207398892e
991 1161
992 1162
993 1163 $ hg fatelog
994 1164 o eb5a0daa2192
995 1165 |
996 1166 | @ 471f378eab4c
997 1167 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
998 1168 o ea207398892e
999 1169
1000 1170 $ hg up 'desc(B0)' --hidden
1001 1171 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1002 1172
1003 1173 Predecessors template should both predecessors as they are visible
1004 1174 $ hg tlog
1005 1175 o eb5a0daa2192
1006 1176 | Predecessors: 2:0dec01379d3b 1:471f378eab4c
1007 1177 | semi-colon: 2:0dec01379d3b; 1:471f378eab4c
1008 1178 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
1009 1179 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874
1010 1180 | @ 0dec01379d3b
1011 1181 | | Successors: 4:eb5a0daa2192
1012 1182 | | multi-line: 4:eb5a0daa2192
1013 1183 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
1014 1184 | x 471f378eab4c
1015 1185 |/ Successors: 4:eb5a0daa2192
1016 1186 | multi-line: 4:eb5a0daa2192
1017 1187 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
1018 1188 o ea207398892e
1019 1189
1020 1190
1021 1191 $ hg fatelog
1022 1192 o eb5a0daa2192
1023 1193 |
1024 1194 | @ 0dec01379d3b
1025 1195 | | Obsfate: rewritten using amend as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
1026 1196 | x 471f378eab4c
1027 1197 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
1028 1198 o ea207398892e
1029 1199
1030 1200 $ hg up 'desc(B1)' --hidden
1031 1201 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1032 1202
1033 1203 Predecessors template should both predecessors as they are visible
1034 1204 $ hg tlog
1035 1205 o eb5a0daa2192
1036 1206 | Predecessors: 1:471f378eab4c 3:b7ea6d14e664
1037 1207 | semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
1038 1208 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
1039 1209 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 3:b7ea6d14e664bdc8922221f7992631b50da3fb07
1040 1210 | @ b7ea6d14e664
1041 1211 | | Successors: 4:eb5a0daa2192
1042 1212 | | multi-line: 4:eb5a0daa2192
1043 1213 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
1044 1214 | x 471f378eab4c
1045 1215 |/ Successors: 4:eb5a0daa2192
1046 1216 | multi-line: 4:eb5a0daa2192
1047 1217 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
1048 1218 o ea207398892e
1049 1219
1050 1220
1051 1221 $ hg fatelog
1052 1222 o eb5a0daa2192
1053 1223 |
1054 1224 | @ b7ea6d14e664
1055 1225 | | Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
1056 1226 | x 471f378eab4c
1057 1227 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
1058 1228 o ea207398892e
1059 1229
1060 1230 $ hg up 'desc(C0)'
1061 1231 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1062 1232
1063 1233 Predecessors template should show no predecessors as they are both non visible
1064 1234 $ hg tlog
1065 1235 @ eb5a0daa2192
1066 1236 |
1067 1237 o ea207398892e
1068 1238
1069 1239
1070 1240 $ hg fatelog
1071 1241 @ eb5a0daa2192
1072 1242 |
1073 1243 o ea207398892e
1074 1244
1075 1245 Predecessors template should show all predecessors as we force their display
1076 1246 with --hidden
1077 1247 $ hg tlog --hidden
1078 1248 @ eb5a0daa2192
1079 1249 | Predecessors: 1:471f378eab4c 3:b7ea6d14e664
1080 1250 | semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
1081 1251 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
1082 1252 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 3:b7ea6d14e664bdc8922221f7992631b50da3fb07
1083 1253 | x b7ea6d14e664
1084 1254 | | Predecessors: 2:0dec01379d3b
1085 1255 | | semi-colon: 2:0dec01379d3b
1086 1256 | | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
1087 1257 | | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
1088 1258 | | Successors: 4:eb5a0daa2192
1089 1259 | | multi-line: 4:eb5a0daa2192
1090 1260 | | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
1091 1261 | | x 0dec01379d3b
1092 1262 | |/ Successors: 3:b7ea6d14e664
1093 1263 | | multi-line: 3:b7ea6d14e664
1094 1264 | | json: [["b7ea6d14e664bdc8922221f7992631b50da3fb07"]]
1095 1265 | x 471f378eab4c
1096 1266 |/ Successors: 4:eb5a0daa2192
1097 1267 | multi-line: 4:eb5a0daa2192
1098 1268 | json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
1099 1269 o ea207398892e
1100 1270
1101 1271
1102 1272 $ hg fatelog --hidden
1103 1273 @ eb5a0daa2192
1104 1274 |
1105 1275 | x b7ea6d14e664
1106 1276 | | Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
1107 1277 | | x 0dec01379d3b
1108 1278 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664 by test (at 1970-01-01 00:00 +0000);
1109 1279 | x 471f378eab4c
1110 1280 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000);
1111 1281 o ea207398892e
1112 1282
1113 1283
1114 1284 $ hg fatelogjson --hidden
1115 1285 @ eb5a0daa2192
1116 1286 |
1117 1287 | x b7ea6d14e664
1118 1288 | | Obsfate: [{"markers": [["b7ea6d14e664bdc8922221f7992631b50da3fb07", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}]
1119 1289 | | x 0dec01379d3b
1120 1290 | |/ Obsfate: [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], 0, [["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["b7ea6d14e664bdc8922221f7992631b50da3fb07"]}]
1121 1291 | x 471f378eab4c
1122 1292 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]}]
1123 1293 o ea207398892e
1124 1294
1125 1295
1126 1296 Check other fatelog implementations
1127 1297 -----------------------------------
1128 1298
1129 1299 $ hg fatelogkw --hidden -q
1130 1300 @ eb5a0daa2192
1131 1301 |
1132 1302 | x b7ea6d14e664
1133 1303 | | Obsfate: rewritten as 4:eb5a0daa2192
1134 1304 | | x 0dec01379d3b
1135 1305 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664
1136 1306 | x 471f378eab4c
1137 1307 |/ Obsfate: rewritten as 4:eb5a0daa2192
1138 1308 o ea207398892e
1139 1309
1140 1310 $ hg fatelogkw --hidden
1141 1311 @ eb5a0daa2192
1142 1312 |
1143 1313 | x b7ea6d14e664
1144 1314 | | Obsfate: rewritten as 4:eb5a0daa2192
1145 1315 | | x 0dec01379d3b
1146 1316 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664
1147 1317 | x 471f378eab4c
1148 1318 |/ Obsfate: rewritten as 4:eb5a0daa2192
1149 1319 o ea207398892e
1150 1320
1151 1321 $ hg fatelogkw --hidden -v
1152 1322 @ eb5a0daa2192
1153 1323 |
1154 1324 | x b7ea6d14e664
1155 1325 | | Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000)
1156 1326 | | x 0dec01379d3b
1157 1327 | |/ Obsfate: rewritten using amend as 3:b7ea6d14e664 by test (at 1970-01-01 00:00 +0000)
1158 1328 | x 471f378eab4c
1159 1329 |/ Obsfate: rewritten as 4:eb5a0daa2192 by test (at 1970-01-01 00:00 +0000)
1160 1330 o ea207398892e
1161 1331
1332 $ hg log -G -T "default" --hidden
1333 @ changeset: 4:eb5a0daa2192
1334 | tag: tip
1335 | parent: 0:ea207398892e
1336 | user: test
1337 | date: Thu Jan 01 00:00:00 1970 +0000
1338 | summary: C0
1339 |
1340 | x changeset: 3:b7ea6d14e664
1341 | | parent: 1:471f378eab4c
1342 | | user: test
1343 | | date: Thu Jan 01 00:00:00 1970 +0000
1344 | | obsfate: rewritten as 4:eb5a0daa2192
1345 | | summary: B1
1346 | |
1347 | | x changeset: 2:0dec01379d3b
1348 | |/ user: test
1349 | | date: Thu Jan 01 00:00:00 1970 +0000
1350 | | obsfate: rewritten using amend as 3:b7ea6d14e664
1351 | | summary: B0
1352 | |
1353 | x changeset: 1:471f378eab4c
1354 |/ user: test
1355 | date: Thu Jan 01 00:00:00 1970 +0000
1356 | obsfate: rewritten as 4:eb5a0daa2192
1357 | summary: A0
1358 |
1359 o changeset: 0:ea207398892e
1360 user: test
1361 date: Thu Jan 01 00:00:00 1970 +0000
1362 summary: ROOT
1363
1162 1364
1163 1365 Test template with pushed and pulled obs markers
1164 1366 ================================================
1165 1367
1166 1368 Test setup
1167 1369 ----------
1168 1370
1169 1371 $ hg init $TESTTMP/templates-local-remote-markers-1
1170 1372 $ cd $TESTTMP/templates-local-remote-markers-1
1171 1373 $ mkcommit ROOT
1172 1374 $ mkcommit A0
1173 1375 $ hg clone $TESTTMP/templates-local-remote-markers-1 $TESTTMP/templates-local-remote-markers-2
1174 1376 updating to branch default
1175 1377 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1176 1378 $ cd $TESTTMP/templates-local-remote-markers-2
1177 1379 $ hg log --hidden -G
1178 1380 @ changeset: 1:471f378eab4c
1179 1381 | tag: tip
1180 1382 | user: test
1181 1383 | date: Thu Jan 01 00:00:00 1970 +0000
1182 1384 | summary: A0
1183 1385 |
1184 1386 o changeset: 0:ea207398892e
1185 1387 user: test
1186 1388 date: Thu Jan 01 00:00:00 1970 +0000
1187 1389 summary: ROOT
1188 1390
1189 1391 $ cd $TESTTMP/templates-local-remote-markers-1
1190 1392 $ hg commit --amend -m "A1"
1191 1393 $ hg commit --amend -m "A2"
1192 1394 $ hg log --hidden -G
1193 1395 @ changeset: 3:7a230b46bf61
1194 1396 | tag: tip
1195 1397 | parent: 0:ea207398892e
1196 1398 | user: test
1197 1399 | date: Thu Jan 01 00:00:00 1970 +0000
1198 1400 | summary: A2
1199 1401 |
1200 1402 | x changeset: 2:fdf9bde5129a
1201 1403 |/ parent: 0:ea207398892e
1202 1404 | user: test
1203 1405 | date: Thu Jan 01 00:00:00 1970 +0000
1204 1406 | obsfate: rewritten using amend as 3:7a230b46bf61
1205 1407 | summary: A1
1206 1408 |
1207 1409 | x changeset: 1:471f378eab4c
1208 1410 |/ user: test
1209 1411 | date: Thu Jan 01 00:00:00 1970 +0000
1210 1412 | obsfate: rewritten using amend as 2:fdf9bde5129a
1211 1413 | summary: A0
1212 1414 |
1213 1415 o changeset: 0:ea207398892e
1214 1416 user: test
1215 1417 date: Thu Jan 01 00:00:00 1970 +0000
1216 1418 summary: ROOT
1217 1419
1218 1420 $ cd $TESTTMP/templates-local-remote-markers-2
1219 1421 $ hg pull
1220 1422 pulling from $TESTTMP/templates-local-remote-markers-1 (glob)
1221 1423 searching for changes
1222 1424 adding changesets
1223 1425 adding manifests
1224 1426 adding file changes
1225 1427 added 1 changesets with 0 changes to 1 files (+1 heads)
1226 1428 2 new obsolescence markers
1227 1429 obsoleted 1 changesets
1228 1430 new changesets 7a230b46bf61
1229 1431 (run 'hg heads' to see heads, 'hg merge' to merge)
1230 1432 $ hg log --hidden -G
1231 1433 o changeset: 2:7a230b46bf61
1232 1434 | tag: tip
1233 1435 | parent: 0:ea207398892e
1234 1436 | user: test
1235 1437 | date: Thu Jan 01 00:00:00 1970 +0000
1236 1438 | summary: A2
1237 1439 |
1238 1440 | @ changeset: 1:471f378eab4c
1239 1441 |/ user: test
1240 1442 | date: Thu Jan 01 00:00:00 1970 +0000
1241 1443 | obsfate: rewritten using amend as 2:7a230b46bf61
1242 1444 | summary: A0
1243 1445 |
1244 1446 o changeset: 0:ea207398892e
1245 1447 user: test
1246 1448 date: Thu Jan 01 00:00:00 1970 +0000
1247 1449 summary: ROOT
1248 1450
1249 1451
1250 1452 $ hg debugobsolete
1251 1453 471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1252 1454 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 7a230b46bf61e50b30308c6cfd7bd1269ef54702 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1253 1455
1254 1456 Check templates
1255 1457 ---------------
1256 1458
1257 1459 Predecessors template should show current revision as it is the working copy
1258 1460 $ hg tlog
1259 1461 o 7a230b46bf61
1260 1462 | Predecessors: 1:471f378eab4c
1261 1463 | semi-colon: 1:471f378eab4c
1262 1464 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
1263 1465 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
1264 1466 | @ 471f378eab4c
1265 1467 |/ Successors: 2:7a230b46bf61
1266 1468 | multi-line: 2:7a230b46bf61
1267 1469 | json: [["7a230b46bf61e50b30308c6cfd7bd1269ef54702"]]
1268 1470 o ea207398892e
1269 1471
1270 1472
1271 1473 $ hg fatelog
1272 1474 o 7a230b46bf61
1273 1475 |
1274 1476 | @ 471f378eab4c
1275 1477 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000);
1276 1478 o ea207398892e
1277 1479
1278 1480 $ hg up 'desc(A2)'
1279 1481 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1280 1482
1281 1483 Predecessors template should show no predecessors as they are non visible
1282 1484 $ hg tlog
1283 1485 @ 7a230b46bf61
1284 1486 |
1285 1487 o ea207398892e
1286 1488
1287 1489
1288 1490 $ hg fatelog
1289 1491 @ 7a230b46bf61
1290 1492 |
1291 1493 o ea207398892e
1292 1494
1293 1495 Predecessors template should show all predecessors as we force their display
1294 1496 with --hidden
1295 1497 $ hg tlog --hidden
1296 1498 @ 7a230b46bf61
1297 1499 | Predecessors: 1:471f378eab4c
1298 1500 | semi-colon: 1:471f378eab4c
1299 1501 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
1300 1502 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
1301 1503 | x 471f378eab4c
1302 1504 |/ Successors: 2:7a230b46bf61
1303 1505 | multi-line: 2:7a230b46bf61
1304 1506 | json: [["7a230b46bf61e50b30308c6cfd7bd1269ef54702"]]
1305 1507 o ea207398892e
1306 1508
1307 1509
1308 1510 $ hg fatelog --hidden
1309 1511 @ 7a230b46bf61
1310 1512 |
1311 1513 | x 471f378eab4c
1312 1514 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000);
1313 1515 o ea207398892e
1314 1516
1315 1517
1316 1518 Check other fatelog implementations
1317 1519 -----------------------------------
1318 1520
1319 1521 $ hg fatelogkw --hidden -q
1320 1522 @ 7a230b46bf61
1321 1523 |
1322 1524 | x 471f378eab4c
1323 1525 |/ Obsfate: rewritten using amend as 2:7a230b46bf61
1324 1526 o ea207398892e
1325 1527
1326 1528 $ hg fatelogkw --hidden
1327 1529 @ 7a230b46bf61
1328 1530 |
1329 1531 | x 471f378eab4c
1330 1532 |/ Obsfate: rewritten using amend as 2:7a230b46bf61
1331 1533 o ea207398892e
1332 1534
1333 1535 $ hg fatelogkw --hidden -v
1334 1536 @ 7a230b46bf61
1335 1537 |
1336 1538 | x 471f378eab4c
1337 1539 |/ Obsfate: rewritten using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000)
1338 1540 o ea207398892e
1339 1541
1542 $ hg log -G -T "default" --hidden
1543 @ changeset: 2:7a230b46bf61
1544 | tag: tip
1545 | parent: 0:ea207398892e
1546 | user: test
1547 | date: Thu Jan 01 00:00:00 1970 +0000
1548 | summary: A2
1549 |
1550 | x changeset: 1:471f378eab4c
1551 |/ user: test
1552 | date: Thu Jan 01 00:00:00 1970 +0000
1553 | obsfate: rewritten using amend as 2:7a230b46bf61
1554 | summary: A0
1555 |
1556 o changeset: 0:ea207398892e
1557 user: test
1558 date: Thu Jan 01 00:00:00 1970 +0000
1559 summary: ROOT
1560
1340 1561
1341 1562 Test template with obsmarkers cycle
1342 1563 ===================================
1343 1564
1344 1565 Test setup
1345 1566 ----------
1346 1567
1347 1568 $ hg init $TESTTMP/templates-local-cycle
1348 1569 $ cd $TESTTMP/templates-local-cycle
1349 1570 $ mkcommit ROOT
1350 1571 $ mkcommit A0
1351 1572 $ mkcommit B0
1352 1573 $ hg up -r 0
1353 1574 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1354 1575 $ mkcommit C0
1355 1576 created new head
1356 1577
1357 1578 Create the cycle
1358 1579
1359 1580 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(B0)"`
1360 1581 obsoleted 1 changesets
1361 1582 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(C0)"`
1362 1583 obsoleted 1 changesets
1363 1584 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(A0)"`
1364 1585
1365 1586 Check templates
1366 1587 ---------------
1367 1588
1368 1589 $ hg tlog
1369 1590 @ f897c6137566
1370 1591 |
1371 1592 o ea207398892e
1372 1593
1373 1594
1374 1595 $ hg fatelog
1375 1596 @ f897c6137566
1376 1597 |
1377 1598 o ea207398892e
1378 1599
1379 1600
1380 1601 $ hg up -r "desc(B0)" --hidden
1381 1602 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
1382 1603 $ hg tlog
1383 1604 o f897c6137566
1384 1605 | Predecessors: 2:0dec01379d3b
1385 1606 | semi-colon: 2:0dec01379d3b
1386 1607 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
1387 1608 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
1388 1609 | @ 0dec01379d3b
1389 1610 | | Predecessors: 1:471f378eab4c
1390 1611 | | semi-colon: 1:471f378eab4c
1391 1612 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
1392 1613 | | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
1393 1614 | | Successors: 3:f897c6137566; 1:471f378eab4c
1394 1615 | | multi-line: 3:f897c6137566
1395 1616 | | multi-line: 1:471f378eab4c
1396 1617 | | json: [["f897c6137566320b081514b4c7227ecc3d384b39"], ["471f378eab4c5e25f6c77f785b27c936efb22874"]]
1397 1618 | x 471f378eab4c
1398 1619 |/ Predecessors: 2:0dec01379d3b
1399 1620 | semi-colon: 2:0dec01379d3b
1400 1621 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
1401 1622 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
1402 1623 | Successors: 2:0dec01379d3b
1403 1624 | multi-line: 2:0dec01379d3b
1404 1625 | json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]]
1405 1626 o ea207398892e
1406 1627
1407 1628
1408 1629 $ hg fatelog
1409 1630 o f897c6137566
1410 1631 |
1411 1632 | @ 0dec01379d3b
1412 1633 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000); rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000);
1413 1634 | x 471f378eab4c
1414 1635 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000);
1415 1636 o ea207398892e
1416 1637
1417 1638
1418 1639 $ hg up -r "desc(A0)" --hidden
1419 1640 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1420 1641 $ hg tlog
1421 1642 o f897c6137566
1422 1643 | Predecessors: 1:471f378eab4c
1423 1644 | semi-colon: 1:471f378eab4c
1424 1645 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
1425 1646 | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
1426 1647 | @ 471f378eab4c
1427 1648 |/
1428 1649 o ea207398892e
1429 1650
1430 1651
1431 1652 $ hg fatelog
1432 1653 o f897c6137566
1433 1654 |
1434 1655 | @ 471f378eab4c
1435 1656 |/ Obsfate: pruned;
1436 1657 o ea207398892e
1437 1658
1438 1659
1439 1660 $ hg up -r "desc(ROOT)" --hidden
1440 1661 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1441 1662 $ hg tlog
1442 1663 o f897c6137566
1443 1664 |
1444 1665 @ ea207398892e
1445 1666
1446 1667
1447 1668 $ hg fatelog
1448 1669 o f897c6137566
1449 1670 |
1450 1671 @ ea207398892e
1451 1672
1452 1673
1453 1674 $ hg tlog --hidden
1454 1675 o f897c6137566
1455 1676 | Predecessors: 2:0dec01379d3b
1456 1677 | semi-colon: 2:0dec01379d3b
1457 1678 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
1458 1679 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
1459 1680 | x 0dec01379d3b
1460 1681 | | Predecessors: 1:471f378eab4c
1461 1682 | | semi-colon: 1:471f378eab4c
1462 1683 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
1463 1684 | | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
1464 1685 | | Successors: 3:f897c6137566; 1:471f378eab4c
1465 1686 | | multi-line: 3:f897c6137566
1466 1687 | | multi-line: 1:471f378eab4c
1467 1688 | | json: [["f897c6137566320b081514b4c7227ecc3d384b39"], ["471f378eab4c5e25f6c77f785b27c936efb22874"]]
1468 1689 | x 471f378eab4c
1469 1690 |/ Predecessors: 2:0dec01379d3b
1470 1691 | semi-colon: 2:0dec01379d3b
1471 1692 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
1472 1693 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
1473 1694 | Successors: 2:0dec01379d3b
1474 1695 | multi-line: 2:0dec01379d3b
1475 1696 | json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]]
1476 1697 @ ea207398892e
1477 1698
1478 1699
1479 1700 Check other fatelog implementations
1480 1701 -----------------------------------
1481 1702
1482 1703 $ hg fatelogkw --hidden -q
1483 1704 o f897c6137566
1484 1705 |
1485 1706 | x 0dec01379d3b
1486 1707 | | Obsfate: rewritten as 3:f897c6137566
1487 1708 | | Obsfate: rewritten as 1:471f378eab4c
1488 1709 | x 471f378eab4c
1489 1710 |/ Obsfate: rewritten as 2:0dec01379d3b
1490 1711 @ ea207398892e
1491 1712
1492 1713 $ hg fatelogkw --hidden
1493 1714 o f897c6137566
1494 1715 |
1495 1716 | x 0dec01379d3b
1496 1717 | | Obsfate: rewritten as 3:f897c6137566
1497 1718 | | Obsfate: rewritten as 1:471f378eab4c
1498 1719 | x 471f378eab4c
1499 1720 |/ Obsfate: rewritten as 2:0dec01379d3b
1500 1721 @ ea207398892e
1501 1722
1502 1723 $ hg fatelogkw --hidden -v
1503 1724 o f897c6137566
1504 1725 |
1505 1726 | x 0dec01379d3b
1506 1727 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000)
1507 1728 | | Obsfate: rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000)
1508 1729 | x 471f378eab4c
1509 1730 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000)
1510 1731 @ ea207398892e
1511 1732
1733 $ hg log -G -T "default" --hidden
1734 o changeset: 3:f897c6137566
1735 | tag: tip
1736 | parent: 0:ea207398892e
1737 | user: test
1738 | date: Thu Jan 01 00:00:00 1970 +0000
1739 | summary: C0
1740 |
1741 | x changeset: 2:0dec01379d3b
1742 | | user: test
1743 | | date: Thu Jan 01 00:00:00 1970 +0000
1744 | | obsfate: rewritten as 3:f897c6137566
1745 | | obsfate: rewritten as 1:471f378eab4c
1746 | | summary: B0
1747 | |
1748 | x changeset: 1:471f378eab4c
1749 |/ user: test
1750 | date: Thu Jan 01 00:00:00 1970 +0000
1751 | obsfate: rewritten as 2:0dec01379d3b
1752 | summary: A0
1753 |
1754 @ changeset: 0:ea207398892e
1755 user: test
1756 date: Thu Jan 01 00:00:00 1970 +0000
1757 summary: ROOT
1758
1512 1759
1513 1760 Test template with split + divergence with cycles
1514 1761 =================================================
1515 1762
1516 1763 $ hg log -G
1517 1764 o changeset: 3:f897c6137566
1518 1765 | tag: tip
1519 1766 | parent: 0:ea207398892e
1520 1767 | user: test
1521 1768 | date: Thu Jan 01 00:00:00 1970 +0000
1522 1769 | summary: C0
1523 1770 |
1524 1771 @ changeset: 0:ea207398892e
1525 1772 user: test
1526 1773 date: Thu Jan 01 00:00:00 1970 +0000
1527 1774 summary: ROOT
1528 1775
1529 1776 $ hg up
1530 1777 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1531 1778
1532 1779 Create a commit with three files
1533 1780 $ touch A B C
1534 1781 $ hg commit -A -m "Add A,B,C" A B C
1535 1782
1536 1783 Split it
1537 1784 $ hg up 3
1538 1785 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
1539 1786 $ touch A
1540 1787 $ hg commit -A -m "Add A,B,C" A
1541 1788 created new head
1542 1789
1543 1790 $ touch B
1544 1791 $ hg commit -A -m "Add A,B,C" B
1545 1792
1546 1793 $ touch C
1547 1794 $ hg commit -A -m "Add A,B,C" C
1548 1795
1549 1796 $ hg log -G
1550 1797 @ changeset: 7:ba2ed02b0c9a
1551 1798 | tag: tip
1552 1799 | user: test
1553 1800 | date: Thu Jan 01 00:00:00 1970 +0000
1554 1801 | summary: Add A,B,C
1555 1802 |
1556 1803 o changeset: 6:4a004186e638
1557 1804 | user: test
1558 1805 | date: Thu Jan 01 00:00:00 1970 +0000
1559 1806 | summary: Add A,B,C
1560 1807 |
1561 1808 o changeset: 5:dd800401bd8c
1562 1809 | parent: 3:f897c6137566
1563 1810 | user: test
1564 1811 | date: Thu Jan 01 00:00:00 1970 +0000
1565 1812 | summary: Add A,B,C
1566 1813 |
1567 1814 | o changeset: 4:9bd10a0775e4
1568 1815 |/ user: test
1569 1816 | date: Thu Jan 01 00:00:00 1970 +0000
1570 1817 | summary: Add A,B,C
1571 1818 |
1572 1819 o changeset: 3:f897c6137566
1573 1820 | parent: 0:ea207398892e
1574 1821 | user: test
1575 1822 | date: Thu Jan 01 00:00:00 1970 +0000
1576 1823 | summary: C0
1577 1824 |
1578 1825 o changeset: 0:ea207398892e
1579 1826 user: test
1580 1827 date: Thu Jan 01 00:00:00 1970 +0000
1581 1828 summary: ROOT
1582 1829
1583 1830 $ hg debugobsolete `getid "4"` `getid "5"` `getid "6"` `getid "7"`
1584 1831 obsoleted 1 changesets
1585 1832 $ hg log -G
1586 1833 @ changeset: 7:ba2ed02b0c9a
1587 1834 | tag: tip
1588 1835 | user: test
1589 1836 | date: Thu Jan 01 00:00:00 1970 +0000
1590 1837 | summary: Add A,B,C
1591 1838 |
1592 1839 o changeset: 6:4a004186e638
1593 1840 | user: test
1594 1841 | date: Thu Jan 01 00:00:00 1970 +0000
1595 1842 | summary: Add A,B,C
1596 1843 |
1597 1844 o changeset: 5:dd800401bd8c
1598 1845 | parent: 3:f897c6137566
1599 1846 | user: test
1600 1847 | date: Thu Jan 01 00:00:00 1970 +0000
1601 1848 | summary: Add A,B,C
1602 1849 |
1603 1850 o changeset: 3:f897c6137566
1604 1851 | parent: 0:ea207398892e
1605 1852 | user: test
1606 1853 | date: Thu Jan 01 00:00:00 1970 +0000
1607 1854 | summary: C0
1608 1855 |
1609 1856 o changeset: 0:ea207398892e
1610 1857 user: test
1611 1858 date: Thu Jan 01 00:00:00 1970 +0000
1612 1859 summary: ROOT
1613 1860
1614 1861 Diverge one of the splitted commit
1615 1862
1616 1863 $ hg up 6
1617 1864 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1618 1865 $ hg commit --amend -m "Add only B"
1619 1866
1620 1867 $ hg up 6 --hidden
1621 1868 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1622 1869 $ hg commit --amend -m "Add B only"
1623 1870
1624 1871 $ hg log -G
1625 1872 @ changeset: 9:0b997eb7ceee
1626 1873 | tag: tip
1627 1874 | parent: 5:dd800401bd8c
1628 1875 | user: test
1629 1876 | date: Thu Jan 01 00:00:00 1970 +0000
1630 1877 | instability: content-divergent
1631 1878 | summary: Add B only
1632 1879 |
1633 1880 | o changeset: 8:b18bc8331526
1634 1881 |/ parent: 5:dd800401bd8c
1635 1882 | user: test
1636 1883 | date: Thu Jan 01 00:00:00 1970 +0000
1637 1884 | instability: content-divergent
1638 1885 | summary: Add only B
1639 1886 |
1640 1887 | o changeset: 7:ba2ed02b0c9a
1641 1888 | | user: test
1642 1889 | | date: Thu Jan 01 00:00:00 1970 +0000
1643 1890 | | instability: orphan, content-divergent
1644 1891 | | summary: Add A,B,C
1645 1892 | |
1646 1893 | x changeset: 6:4a004186e638
1647 1894 |/ user: test
1648 1895 | date: Thu Jan 01 00:00:00 1970 +0000
1649 1896 | obsfate: rewritten using amend as 8:b18bc8331526
1650 1897 | obsfate: rewritten using amend as 9:0b997eb7ceee
1651 1898 | summary: Add A,B,C
1652 1899 |
1653 1900 o changeset: 5:dd800401bd8c
1654 1901 | parent: 3:f897c6137566
1655 1902 | user: test
1656 1903 | date: Thu Jan 01 00:00:00 1970 +0000
1657 1904 | instability: content-divergent
1658 1905 | summary: Add A,B,C
1659 1906 |
1660 1907 o changeset: 3:f897c6137566
1661 1908 | parent: 0:ea207398892e
1662 1909 | user: test
1663 1910 | date: Thu Jan 01 00:00:00 1970 +0000
1664 1911 | summary: C0
1665 1912 |
1666 1913 o changeset: 0:ea207398892e
1667 1914 user: test
1668 1915 date: Thu Jan 01 00:00:00 1970 +0000
1669 1916 summary: ROOT
1670 1917
1671 1918
1672 1919 Check templates
1673 1920 ---------------
1674 1921
1675 1922 $ hg tlog
1676 1923 @ 0b997eb7ceee
1677 1924 | Predecessors: 6:4a004186e638
1678 1925 | semi-colon: 6:4a004186e638
1679 1926 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
1680 1927 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
1681 1928 | o b18bc8331526
1682 1929 |/ Predecessors: 6:4a004186e638
1683 1930 | semi-colon: 6:4a004186e638
1684 1931 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
1685 1932 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
1686 1933 | o ba2ed02b0c9a
1687 1934 | |
1688 1935 | x 4a004186e638
1689 1936 |/ Successors: 8:b18bc8331526; 9:0b997eb7ceee
1690 1937 | multi-line: 8:b18bc8331526
1691 1938 | multi-line: 9:0b997eb7ceee
1692 1939 | json: [["b18bc8331526a22cbb1801022bd1555bf291c48b"], ["0b997eb7ceeee06200a02f8aab185979092d514e"]]
1693 1940 o dd800401bd8c
1694 1941 |
1695 1942 o f897c6137566
1696 1943 |
1697 1944 o ea207398892e
1698 1945
1699 1946 $ hg fatelog
1700 1947 @ 0b997eb7ceee
1701 1948 |
1702 1949 | o b18bc8331526
1703 1950 |/
1704 1951 | o ba2ed02b0c9a
1705 1952 | |
1706 1953 | x 4a004186e638
1707 1954 |/ Obsfate: rewritten using amend as 8:b18bc8331526 by test (at 1970-01-01 00:00 +0000); rewritten using amend as 9:0b997eb7ceee by test (at 1970-01-01 00:00 +0000);
1708 1955 o dd800401bd8c
1709 1956 |
1710 1957 o f897c6137566
1711 1958 |
1712 1959 o ea207398892e
1713 1960
1714 1961 $ hg tlog --hidden
1715 1962 @ 0b997eb7ceee
1716 1963 | Predecessors: 6:4a004186e638
1717 1964 | semi-colon: 6:4a004186e638
1718 1965 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
1719 1966 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
1720 1967 | o b18bc8331526
1721 1968 |/ Predecessors: 6:4a004186e638
1722 1969 | semi-colon: 6:4a004186e638
1723 1970 | json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
1724 1971 | map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
1725 1972 | o ba2ed02b0c9a
1726 1973 | | Predecessors: 4:9bd10a0775e4
1727 1974 | | semi-colon: 4:9bd10a0775e4
1728 1975 | | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
1729 1976 | | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
1730 1977 | x 4a004186e638
1731 1978 |/ Predecessors: 4:9bd10a0775e4
1732 1979 | semi-colon: 4:9bd10a0775e4
1733 1980 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
1734 1981 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
1735 1982 | Successors: 8:b18bc8331526; 9:0b997eb7ceee
1736 1983 | multi-line: 8:b18bc8331526
1737 1984 | multi-line: 9:0b997eb7ceee
1738 1985 | json: [["b18bc8331526a22cbb1801022bd1555bf291c48b"], ["0b997eb7ceeee06200a02f8aab185979092d514e"]]
1739 1986 o dd800401bd8c
1740 1987 | Predecessors: 4:9bd10a0775e4
1741 1988 | semi-colon: 4:9bd10a0775e4
1742 1989 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
1743 1990 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
1744 1991 | x 9bd10a0775e4
1745 1992 |/ Successors: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a
1746 1993 | multi-line: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a
1747 1994 | json: [["dd800401bd8c79d815329277739e433e883f784e", "4a004186e63889f20cb16434fcbd72220bd1eace", "ba2ed02b0c9a56b9fdbc4e79c7e57866984d8a1f"]]
1748 1995 o f897c6137566
1749 1996 | Predecessors: 2:0dec01379d3b
1750 1997 | semi-colon: 2:0dec01379d3b
1751 1998 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
1752 1999 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
1753 2000 | x 0dec01379d3b
1754 2001 | | Predecessors: 1:471f378eab4c
1755 2002 | | semi-colon: 1:471f378eab4c
1756 2003 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
1757 2004 | | map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
1758 2005 | | Successors: 3:f897c6137566; 1:471f378eab4c
1759 2006 | | multi-line: 3:f897c6137566
1760 2007 | | multi-line: 1:471f378eab4c
1761 2008 | | json: [["f897c6137566320b081514b4c7227ecc3d384b39"], ["471f378eab4c5e25f6c77f785b27c936efb22874"]]
1762 2009 | x 471f378eab4c
1763 2010 |/ Predecessors: 2:0dec01379d3b
1764 2011 | semi-colon: 2:0dec01379d3b
1765 2012 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
1766 2013 | map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
1767 2014 | Successors: 2:0dec01379d3b
1768 2015 | multi-line: 2:0dec01379d3b
1769 2016 | json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]]
1770 2017 o ea207398892e
1771 2018
1772 2019 $ hg fatelog --hidden
1773 2020 @ 0b997eb7ceee
1774 2021 |
1775 2022 | o b18bc8331526
1776 2023 |/
1777 2024 | o ba2ed02b0c9a
1778 2025 | |
1779 2026 | x 4a004186e638
1780 2027 |/ Obsfate: rewritten using amend as 8:b18bc8331526 by test (at 1970-01-01 00:00 +0000); rewritten using amend as 9:0b997eb7ceee by test (at 1970-01-01 00:00 +0000);
1781 2028 o dd800401bd8c
1782 2029 |
1783 2030 | x 9bd10a0775e4
1784 2031 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a by test (at 1970-01-01 00:00 +0000);
1785 2032 o f897c6137566
1786 2033 |
1787 2034 | x 0dec01379d3b
1788 2035 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000); rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000);
1789 2036 | x 471f378eab4c
1790 2037 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000);
1791 2038 o ea207398892e
1792 2039
1793 2040 $ hg fatelogjson --hidden
1794 2041 @ 0b997eb7ceee
1795 2042 |
1796 2043 | o b18bc8331526
1797 2044 |/
1798 2045 | o ba2ed02b0c9a
1799 2046 | |
1800 2047 | x 4a004186e638
1801 2048 |/ Obsfate: [{"markers": [["4a004186e63889f20cb16434fcbd72220bd1eace", ["b18bc8331526a22cbb1801022bd1555bf291c48b"], 0, [["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["b18bc8331526a22cbb1801022bd1555bf291c48b"]}, {"markers": [["4a004186e63889f20cb16434fcbd72220bd1eace", ["0b997eb7ceeee06200a02f8aab185979092d514e"], 0, [["operation", "amend"], ["user", "test"]], [0.0, 0], null]], "successors": ["0b997eb7ceeee06200a02f8aab185979092d514e"]}]
1802 2049 o dd800401bd8c
1803 2050 |
1804 2051 | x 9bd10a0775e4
1805 2052 |/ Obsfate: [{"markers": [["9bd10a0775e478708cada5f176ec6de654359ce7", ["dd800401bd8c79d815329277739e433e883f784e", "4a004186e63889f20cb16434fcbd72220bd1eace", "ba2ed02b0c9a56b9fdbc4e79c7e57866984d8a1f"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["dd800401bd8c79d815329277739e433e883f784e", "4a004186e63889f20cb16434fcbd72220bd1eace", "ba2ed02b0c9a56b9fdbc4e79c7e57866984d8a1f"]}]
1806 2053 o f897c6137566
1807 2054 |
1808 2055 | x 0dec01379d3b
1809 2056 | | Obsfate: [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["f897c6137566320b081514b4c7227ecc3d384b39"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["f897c6137566320b081514b4c7227ecc3d384b39"]}, {"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["471f378eab4c5e25f6c77f785b27c936efb22874"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["471f378eab4c5e25f6c77f785b27c936efb22874"]}]
1810 2057 | x 471f378eab4c
1811 2058 |/ Obsfate: [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"], 0, [["user", "test"]], [0.0, 0], null]], "successors": ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]}]
1812 2059 o ea207398892e
1813 2060
1814 2061 $ hg up --hidden 4
1815 2062 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1816 2063 $ hg rebase -r 7 -d 8 --config extensions.rebase=
1817 2064 rebasing 7:ba2ed02b0c9a "Add A,B,C"
1818 2065 $ hg tlog
1819 2066 o eceed8f98ffc
1820 2067 | Predecessors: 4:9bd10a0775e4
1821 2068 | semi-colon: 4:9bd10a0775e4
1822 2069 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
1823 2070 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
1824 2071 | o 0b997eb7ceee
1825 2072 | | Predecessors: 4:9bd10a0775e4
1826 2073 | | semi-colon: 4:9bd10a0775e4
1827 2074 | | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
1828 2075 | | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
1829 2076 o | b18bc8331526
1830 2077 |/ Predecessors: 4:9bd10a0775e4
1831 2078 | semi-colon: 4:9bd10a0775e4
1832 2079 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
1833 2080 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
1834 2081 o dd800401bd8c
1835 2082 | Predecessors: 4:9bd10a0775e4
1836 2083 | semi-colon: 4:9bd10a0775e4
1837 2084 | json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
1838 2085 | map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
1839 2086 | @ 9bd10a0775e4
1840 2087 |/ Successors: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc; 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc
1841 2088 | multi-line: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc
1842 2089 | multi-line: 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc
1843 2090 | json: [["dd800401bd8c79d815329277739e433e883f784e", "0b997eb7ceeee06200a02f8aab185979092d514e", "eceed8f98ffc4186032e29a6542ab98888ebf68d"], ["dd800401bd8c79d815329277739e433e883f784e", "b18bc8331526a22cbb1801022bd1555bf291c48b", "eceed8f98ffc4186032e29a6542ab98888ebf68d"]]
1844 2091 o f897c6137566
1845 2092 |
1846 2093 o ea207398892e
1847 2094
1848 2095
1849 2096 $ hg fatelog
1850 2097 o eceed8f98ffc
1851 2098 |
1852 2099 | o 0b997eb7ceee
1853 2100 | |
1854 2101 o | b18bc8331526
1855 2102 |/
1856 2103 o dd800401bd8c
1857 2104 |
1858 2105 | @ 9bd10a0775e4
1859 2106 |/ Obsfate: split using amend, rebase as 5:dd800401bd8c, 9:0b997eb7ceee, 10:eceed8f98ffc by test (at 1970-01-01 00:00 +0000); split using amend, rebase as 5:dd800401bd8c, 8:b18bc8331526, 10:eceed8f98ffc by test (at 1970-01-01 00:00 +0000);
1860 2107 o f897c6137566
1861 2108 |
1862 2109 o ea207398892e
1863 2110
1864 2111 Check other fatelog implementations
1865 2112 -----------------------------------
1866 2113
1867 2114 $ hg fatelogkw --hidden -q
1868 2115 o eceed8f98ffc
1869 2116 |
1870 2117 | o 0b997eb7ceee
1871 2118 | |
1872 2119 o | b18bc8331526
1873 2120 |/
1874 2121 | x ba2ed02b0c9a
1875 2122 | | Obsfate: rewritten using rebase as 10:eceed8f98ffc
1876 2123 | x 4a004186e638
1877 2124 |/ Obsfate: rewritten using amend as 8:b18bc8331526
1878 2125 | Obsfate: rewritten using amend as 9:0b997eb7ceee
1879 2126 o dd800401bd8c
1880 2127 |
1881 2128 | @ 9bd10a0775e4
1882 2129 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a
1883 2130 o f897c6137566
1884 2131 |
1885 2132 | x 0dec01379d3b
1886 2133 | | Obsfate: rewritten as 3:f897c6137566
1887 2134 | | Obsfate: rewritten as 1:471f378eab4c
1888 2135 | x 471f378eab4c
1889 2136 |/ Obsfate: rewritten as 2:0dec01379d3b
1890 2137 o ea207398892e
1891 2138
1892 2139 $ hg fatelogkw --hidden
1893 2140 o eceed8f98ffc
1894 2141 |
1895 2142 | o 0b997eb7ceee
1896 2143 | |
1897 2144 o | b18bc8331526
1898 2145 |/
1899 2146 | x ba2ed02b0c9a
1900 2147 | | Obsfate: rewritten using rebase as 10:eceed8f98ffc
1901 2148 | x 4a004186e638
1902 2149 |/ Obsfate: rewritten using amend as 8:b18bc8331526
1903 2150 | Obsfate: rewritten using amend as 9:0b997eb7ceee
1904 2151 o dd800401bd8c
1905 2152 |
1906 2153 | @ 9bd10a0775e4
1907 2154 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a
1908 2155 o f897c6137566
1909 2156 |
1910 2157 | x 0dec01379d3b
1911 2158 | | Obsfate: rewritten as 3:f897c6137566
1912 2159 | | Obsfate: rewritten as 1:471f378eab4c
1913 2160 | x 471f378eab4c
1914 2161 |/ Obsfate: rewritten as 2:0dec01379d3b
1915 2162 o ea207398892e
1916 2163
1917 2164 $ hg fatelogkw --hidden -v
1918 2165 o eceed8f98ffc
1919 2166 |
1920 2167 | o 0b997eb7ceee
1921 2168 | |
1922 2169 o | b18bc8331526
1923 2170 |/
1924 2171 | x ba2ed02b0c9a
1925 2172 | | Obsfate: rewritten using rebase as 10:eceed8f98ffc by test (at 1970-01-01 00:00 +0000)
1926 2173 | x 4a004186e638
1927 2174 |/ Obsfate: rewritten using amend as 8:b18bc8331526 by test (at 1970-01-01 00:00 +0000)
1928 2175 | Obsfate: rewritten using amend as 9:0b997eb7ceee by test (at 1970-01-01 00:00 +0000)
1929 2176 o dd800401bd8c
1930 2177 |
1931 2178 | @ 9bd10a0775e4
1932 2179 |/ Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a by test (at 1970-01-01 00:00 +0000)
1933 2180 o f897c6137566
1934 2181 |
1935 2182 | x 0dec01379d3b
1936 2183 | | Obsfate: rewritten as 3:f897c6137566 by test (at 1970-01-01 00:00 +0000)
1937 2184 | | Obsfate: rewritten as 1:471f378eab4c by test (at 1970-01-01 00:00 +0000)
1938 2185 | x 471f378eab4c
1939 2186 |/ Obsfate: rewritten as 2:0dec01379d3b by test (at 1970-01-01 00:00 +0000)
1940 2187 o ea207398892e
1941 2188
2189 $ hg log -G -T "default" --hidden
2190 o changeset: 10:eceed8f98ffc
2191 | tag: tip
2192 | parent: 8:b18bc8331526
2193 | user: test
2194 | date: Thu Jan 01 00:00:00 1970 +0000
2195 | instability: content-divergent
2196 | summary: Add A,B,C
2197 |
2198 | o changeset: 9:0b997eb7ceee
2199 | | parent: 5:dd800401bd8c
2200 | | user: test
2201 | | date: Thu Jan 01 00:00:00 1970 +0000
2202 | | instability: content-divergent
2203 | | summary: Add B only
2204 | |
2205 o | changeset: 8:b18bc8331526
2206 |/ parent: 5:dd800401bd8c
2207 | user: test
2208 | date: Thu Jan 01 00:00:00 1970 +0000
2209 | instability: content-divergent
2210 | summary: Add only B
2211 |
2212 | x changeset: 7:ba2ed02b0c9a
2213 | | user: test
2214 | | date: Thu Jan 01 00:00:00 1970 +0000
2215 | | obsfate: rewritten using rebase as 10:eceed8f98ffc
2216 | | summary: Add A,B,C
2217 | |
2218 | x changeset: 6:4a004186e638
2219 |/ user: test
2220 | date: Thu Jan 01 00:00:00 1970 +0000
2221 | obsfate: rewritten using amend as 8:b18bc8331526
2222 | obsfate: rewritten using amend as 9:0b997eb7ceee
2223 | summary: Add A,B,C
2224 |
2225 o changeset: 5:dd800401bd8c
2226 | parent: 3:f897c6137566
2227 | user: test
2228 | date: Thu Jan 01 00:00:00 1970 +0000
2229 | instability: content-divergent
2230 | summary: Add A,B,C
2231 |
2232 | @ changeset: 4:9bd10a0775e4
2233 |/ user: test
2234 | date: Thu Jan 01 00:00:00 1970 +0000
2235 | obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a
2236 | summary: Add A,B,C
2237 |
2238 o changeset: 3:f897c6137566
2239 | parent: 0:ea207398892e
2240 | user: test
2241 | date: Thu Jan 01 00:00:00 1970 +0000
2242 | summary: C0
2243 |
2244 | x changeset: 2:0dec01379d3b
2245 | | user: test
2246 | | date: Thu Jan 01 00:00:00 1970 +0000
2247 | | obsfate: rewritten as 3:f897c6137566
2248 | | obsfate: rewritten as 1:471f378eab4c
2249 | | summary: B0
2250 | |
2251 | x changeset: 1:471f378eab4c
2252 |/ user: test
2253 | date: Thu Jan 01 00:00:00 1970 +0000
2254 | obsfate: rewritten as 2:0dec01379d3b
2255 | summary: A0
2256 |
2257 o changeset: 0:ea207398892e
2258 user: test
2259 date: Thu Jan 01 00:00:00 1970 +0000
2260 summary: ROOT
2261
2262
1942 2263 Test templates with pruned commits
1943 2264 ==================================
1944 2265
1945 2266 Test setup
1946 2267 ----------
1947 2268
1948 2269 $ hg init $TESTTMP/templates-local-prune
1949 2270 $ cd $TESTTMP/templates-local-prune
1950 2271 $ mkcommit ROOT
1951 2272 $ mkcommit A0
1952 2273 $ hg debugobsolete --record-parent `getid "."`
1953 2274 obsoleted 1 changesets
1954 2275
1955 2276 Check output
1956 2277 ------------
1957 2278
1958 2279 $ hg up "desc(A0)" --hidden
1959 2280 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1960 2281 $ hg tlog
1961 2282 @ 471f378eab4c
1962 2283 |
1963 2284 o ea207398892e
1964 2285
1965 2286 $ hg fatelog
1966 2287 @ 471f378eab4c
1967 2288 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000);
1968 2289 o ea207398892e
1969 2290
1970 2291 Test templates with multiple pruned commits
1971 2292 ===========================================
1972 2293
1973 2294 Test setup
1974 2295 ----------
1975 2296
1976 2297 $ hg init $TESTTMP/multiple-local-prune
1977 2298 $ cd $TESTTMP/multiple-local-prune
1978 2299 $ mkcommit ROOT
1979 2300 $ mkcommit A0
1980 2301 $ hg commit --amend -m "A1"
1981 2302 $ hg debugobsolete --record-parent `getid "."`
1982 2303 obsoleted 1 changesets
1983 2304
1984 2305 $ hg up -r "desc(A0)" --hidden
1985 2306 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1986 2307 $ hg commit --amend -m "A2"
1987 2308 $ hg debugobsolete --record-parent `getid "."`
1988 2309 obsoleted 1 changesets
1989 2310
1990 2311 Check output
1991 2312 ------------
1992 2313
1993 2314 $ hg up "desc(A0)" --hidden
1994 2315 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1995 2316 $ hg tlog
1996 2317 @ 471f378eab4c
1997 2318 |
1998 2319 o ea207398892e
1999 2320
2000 2321 # todo: the obsfate output is not ideal
2001 2322 $ hg fatelog
2002 2323 @ 471f378eab4c
2003 2324 | Obsfate: pruned;
2004 2325 o ea207398892e
2005 2326
2006 2327 $ hg fatelog --hidden
2007 2328 x 65b757b745b9
2008 2329 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000);
2009 2330 | x fdf9bde5129a
2010 2331 |/ Obsfate: pruned by test (at 1970-01-01 00:00 +0000);
2011 2332 | @ 471f378eab4c
2012 2333 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000); rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000);
2013 2334 o ea207398892e
2014 2335
2015 2336 Check other fatelog implementations
2016 2337 -----------------------------------
2017 2338
2018 2339 $ hg fatelogkw --hidden -q
2019 2340 x 65b757b745b9
2020 2341 | Obsfate: pruned
2021 2342 | x fdf9bde5129a
2022 2343 |/ Obsfate: pruned
2023 2344 | @ 471f378eab4c
2024 2345 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a
2025 2346 | Obsfate: rewritten using amend as 3:65b757b745b9
2026 2347 o ea207398892e
2027 2348
2028 2349 $ hg fatelogkw --hidden
2029 2350 x 65b757b745b9
2030 2351 | Obsfate: pruned
2031 2352 | x fdf9bde5129a
2032 2353 |/ Obsfate: pruned
2033 2354 | @ 471f378eab4c
2034 2355 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a
2035 2356 | Obsfate: rewritten using amend as 3:65b757b745b9
2036 2357 o ea207398892e
2037 2358
2038 2359 $ hg fatelogkw --hidden -v
2039 2360 x 65b757b745b9
2040 2361 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000)
2041 2362 | x fdf9bde5129a
2042 2363 |/ Obsfate: pruned by test (at 1970-01-01 00:00 +0000)
2043 2364 | @ 471f378eab4c
2044 2365 |/ Obsfate: rewritten using amend as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000)
2045 2366 | Obsfate: rewritten using amend as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000)
2046 2367 o ea207398892e
2047 2368
2048 2369
2370 $ hg log -G -T "default" --hidden
2371 x changeset: 3:65b757b745b9
2372 | tag: tip
2373 | parent: 0:ea207398892e
2374 | user: test
2375 | date: Thu Jan 01 00:00:00 1970 +0000
2376 | obsfate: pruned
2377 | summary: A2
2378 |
2379 | x changeset: 2:fdf9bde5129a
2380 |/ parent: 0:ea207398892e
2381 | user: test
2382 | date: Thu Jan 01 00:00:00 1970 +0000
2383 | obsfate: pruned
2384 | summary: A1
2385 |
2386 | @ changeset: 1:471f378eab4c
2387 |/ user: test
2388 | date: Thu Jan 01 00:00:00 1970 +0000
2389 | obsfate: rewritten using amend as 2:fdf9bde5129a
2390 | obsfate: rewritten using amend as 3:65b757b745b9
2391 | summary: A0
2392 |
2393 o changeset: 0:ea207398892e
2394 user: test
2395 date: Thu Jan 01 00:00:00 1970 +0000
2396 summary: ROOT
2397
2398
2049 2399 Test templates with splitted and pruned commit
2050 2400 ==============================================
2051 2401
2052 2402 $ hg init $TESTTMP/templates-local-split-prune
2053 2403 $ cd $TESTTMP/templates-local-split-prune
2054 2404 $ mkcommit ROOT
2055 2405 $ echo 42 >> a
2056 2406 $ echo 43 >> b
2057 2407 $ hg commit -A -m "A0"
2058 2408 adding a
2059 2409 adding b
2060 2410 $ hg log --hidden -G
2061 2411 @ changeset: 1:471597cad322
2062 2412 | tag: tip
2063 2413 | user: test
2064 2414 | date: Thu Jan 01 00:00:00 1970 +0000
2065 2415 | summary: A0
2066 2416 |
2067 2417 o changeset: 0:ea207398892e
2068 2418 user: test
2069 2419 date: Thu Jan 01 00:00:00 1970 +0000
2070 2420 summary: ROOT
2071 2421
2072 2422 # Simulate split
2073 2423 $ hg up -r "desc(ROOT)"
2074 2424 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
2075 2425 $ echo 42 >> a
2076 2426 $ hg commit -A -m "A1"
2077 2427 adding a
2078 2428 created new head
2079 2429 $ echo 43 >> b
2080 2430 $ hg commit -A -m "A2"
2081 2431 adding b
2082 2432 $ hg debugobsolete `getid "1"` `getid "2"` `getid "3"`
2083 2433 obsoleted 1 changesets
2084 2434
2085 2435 # Simulate prune
2086 2436 $ hg debugobsolete --record-parent `getid "."`
2087 2437 obsoleted 1 changesets
2088 2438
2089 2439 $ hg log --hidden -G
2090 2440 @ changeset: 3:0d0ef4bdf70e
2091 2441 | tag: tip
2092 2442 | user: test
2093 2443 | date: Thu Jan 01 00:00:00 1970 +0000
2094 2444 | obsfate: pruned
2095 2445 | summary: A2
2096 2446 |
2097 2447 o changeset: 2:617adc3a144c
2098 2448 | parent: 0:ea207398892e
2099 2449 | user: test
2100 2450 | date: Thu Jan 01 00:00:00 1970 +0000
2101 2451 | summary: A1
2102 2452 |
2103 2453 | x changeset: 1:471597cad322
2104 2454 |/ user: test
2105 2455 | date: Thu Jan 01 00:00:00 1970 +0000
2106 2456 | obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e
2107 2457 | summary: A0
2108 2458 |
2109 2459 o changeset: 0:ea207398892e
2110 2460 user: test
2111 2461 date: Thu Jan 01 00:00:00 1970 +0000
2112 2462 summary: ROOT
2113 2463
2114 2464 Check templates
2115 2465 ---------------
2116 2466
2117 2467 $ hg up 'desc("A0")' --hidden
2118 2468 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
2119 2469
2120 2470 # todo: the obsfate output is not ideal
2121 2471 $ hg fatelog
2122 2472 o 617adc3a144c
2123 2473 |
2124 2474 | @ 471597cad322
2125 2475 |/ Obsfate: pruned;
2126 2476 o ea207398892e
2127 2477
2128 2478 $ hg up -r 'desc("A2")' --hidden
2129 2479 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
2130 2480
2131 2481 $ hg fatelog --hidden
2132 2482 @ 0d0ef4bdf70e
2133 2483 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000);
2134 2484 o 617adc3a144c
2135 2485 |
2136 2486 | x 471597cad322
2137 2487 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e by test (at 1970-01-01 00:00 +0000);
2138 2488 o ea207398892e
2139 2489
2140 2490
2141 2491 Check other fatelog implementations
2142 2492 -----------------------------------
2143 2493
2144 2494 $ hg fatelogkw --hidden -q
2145 2495 @ 0d0ef4bdf70e
2146 2496 | Obsfate: pruned
2147 2497 o 617adc3a144c
2148 2498 |
2149 2499 | x 471597cad322
2150 2500 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e
2151 2501 o ea207398892e
2152 2502
2153 2503 $ hg fatelogkw --hidden
2154 2504 @ 0d0ef4bdf70e
2155 2505 | Obsfate: pruned
2156 2506 o 617adc3a144c
2157 2507 |
2158 2508 | x 471597cad322
2159 2509 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e
2160 2510 o ea207398892e
2161 2511
2162 2512 $ hg fatelogkw --hidden -v
2163 2513 @ 0d0ef4bdf70e
2164 2514 | Obsfate: pruned by test (at 1970-01-01 00:00 +0000)
2165 2515 o 617adc3a144c
2166 2516 |
2167 2517 | x 471597cad322
2168 2518 |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e by test (at 1970-01-01 00:00 +0000)
2169 2519 o ea207398892e
2170 2520
2521 $ hg log -G -T "default" --hidden
2522 @ changeset: 3:0d0ef4bdf70e
2523 | tag: tip
2524 | user: test
2525 | date: Thu Jan 01 00:00:00 1970 +0000
2526 | obsfate: pruned
2527 | summary: A2
2528 |
2529 o changeset: 2:617adc3a144c
2530 | parent: 0:ea207398892e
2531 | user: test
2532 | date: Thu Jan 01 00:00:00 1970 +0000
2533 | summary: A1
2534 |
2535 | x changeset: 1:471597cad322
2536 |/ user: test
2537 | date: Thu Jan 01 00:00:00 1970 +0000
2538 | obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e
2539 | summary: A0
2540 |
2541 o changeset: 0:ea207398892e
2542 user: test
2543 date: Thu Jan 01 00:00:00 1970 +0000
2544 summary: ROOT
2545
@@ -1,1509 +1,1511 b''
1 1 $ cat >> $HGRCPATH << EOF
2 2 > [phases]
3 3 > # public changeset are not obsolete
4 4 > publish=false
5 5 > [ui]
6 6 > logtemplate="{rev}:{node|short} ({phase}{if(obsolete, ' *{obsolete}*')}{if(instabilities, ' {instabilities}')}) [{tags} {bookmarks}] {desc|firstline}{if(obsfate, " [{join(obsfate, "; ")}]")}\n"
7 7 > EOF
8 8 $ mkcommit() {
9 9 > echo "$1" > "$1"
10 10 > hg add "$1"
11 11 > hg ci -m "add $1"
12 12 > }
13 13 $ getid() {
14 14 > hg log -T "{node}\n" --hidden -r "desc('$1')"
15 15 > }
16 16
17 17 $ cat > debugkeys.py <<EOF
18 18 > def reposetup(ui, repo):
19 19 > class debugkeysrepo(repo.__class__):
20 20 > def listkeys(self, namespace):
21 21 > ui.write('listkeys %s\n' % (namespace,))
22 22 > return super(debugkeysrepo, self).listkeys(namespace)
23 23 >
24 24 > if repo.local():
25 25 > repo.__class__ = debugkeysrepo
26 26 > EOF
27 27
28 28 $ hg init tmpa
29 29 $ cd tmpa
30 30 $ mkcommit kill_me
31 31
32 32 Checking that the feature is properly disabled
33 33
34 34 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
35 35 abort: creating obsolete markers is not enabled on this repo
36 36 [255]
37 37
38 38 Enabling it
39 39
40 40 $ cat >> $HGRCPATH << EOF
41 41 > [experimental]
42 42 > stabilization=createmarkers,exchange
43 43 > EOF
44 44
45 45 Killing a single changeset without replacement
46 46
47 47 $ hg debugobsolete 0
48 48 abort: changeset references must be full hexadecimal node identifiers
49 49 [255]
50 50 $ hg debugobsolete '00'
51 51 abort: changeset references must be full hexadecimal node identifiers
52 52 [255]
53 53 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
54 54 obsoleted 1 changesets
55 55 $ hg debugobsolete
56 56 97b7c2d76b1845ed3eb988cd612611e72406cef0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'babar'}
57 57
58 58 (test that mercurial is not confused)
59 59
60 60 $ hg up null --quiet # having 0 as parent prevents it to be hidden
61 61 $ hg tip
62 62 -1:000000000000 (public) [tip ]
63 63 $ hg up --hidden tip --quiet
64 64
65 65 Killing a single changeset with itself should fail
66 66 (simple local safeguard)
67 67
68 68 $ hg debugobsolete `getid kill_me` `getid kill_me`
69 69 abort: bad obsmarker input: in-marker cycle with 97b7c2d76b1845ed3eb988cd612611e72406cef0
70 70 [255]
71 71
72 72 $ cd ..
73 73
74 74 Killing a single changeset with replacement
75 75 (and testing the format option)
76 76
77 77 $ hg init tmpb
78 78 $ cd tmpb
79 79 $ mkcommit a
80 80 $ mkcommit b
81 81 $ mkcommit original_c
82 82 $ hg up "desc('b')"
83 83 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
84 84 $ mkcommit new_c
85 85 created new head
86 86 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
87 87 $ hg debugobsolete --config format.obsstore-version=0 --flag 12 `getid original_c` `getid new_c` -d '121 120'
88 88 obsoleted 1 changesets
89 89 $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
90 90 2:245bde4270cd add original_c
91 91 $ hg debugrevlog -cd
92 92 # rev p1rev p2rev start end deltastart base p1 p2 rawsize totalsize compression heads chainlen
93 93 0 -1 -1 0 59 0 0 0 0 58 58 0 1 0
94 94 1 0 -1 59 118 59 59 0 0 58 116 0 1 0
95 95 2 1 -1 118 193 118 118 59 0 76 192 0 1 0
96 96 3 1 -1 193 260 193 193 59 0 66 258 0 2 0
97 97 $ hg debugobsolete
98 98 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
99 99
100 100 (check for version number of the obsstore)
101 101
102 102 $ dd bs=1 count=1 if=.hg/store/obsstore 2>/dev/null
103 103 \x00 (no-eol) (esc)
104 104
105 105 do it again (it read the obsstore before adding new changeset)
106 106
107 107 $ hg up '.^'
108 108 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
109 109 $ mkcommit new_2_c
110 110 created new head
111 111 $ hg debugobsolete -d '1337 0' `getid new_c` `getid new_2_c`
112 112 obsoleted 1 changesets
113 113 $ hg debugobsolete
114 114 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
115 115 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
116 116
117 117 Register two markers with a missing node
118 118
119 119 $ hg up '.^'
120 120 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
121 121 $ mkcommit new_3_c
122 122 created new head
123 123 $ hg debugobsolete -d '1338 0' `getid new_2_c` 1337133713371337133713371337133713371337
124 124 obsoleted 1 changesets
125 125 $ hg debugobsolete -d '1339 0' 1337133713371337133713371337133713371337 `getid new_3_c`
126 126 $ hg debugobsolete
127 127 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
128 128 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
129 129 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
130 130 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
131 131
132 132 Test the --index option of debugobsolete command
133 133 $ hg debugobsolete --index
134 134 0 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
135 135 1 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
136 136 2 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
137 137 3 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
138 138
139 139 Refuse pathological nullid successors
140 140 $ hg debugobsolete -d '9001 0' 1337133713371337133713371337133713371337 0000000000000000000000000000000000000000
141 141 transaction abort!
142 142 rollback completed
143 143 abort: bad obsolescence marker detected: invalid successors nullid
144 144 [255]
145 145
146 146 Check that graphlog detect that a changeset is obsolete:
147 147
148 148 $ hg log -G
149 149 @ 5:5601fb93a350 (draft) [tip ] add new_3_c
150 150 |
151 151 o 1:7c3bad9141dc (draft) [ ] add b
152 152 |
153 153 o 0:1f0dee641bb7 (draft) [ ] add a
154 154
155 155
156 156 check that heads does not report them
157 157
158 158 $ hg heads
159 159 5:5601fb93a350 (draft) [tip ] add new_3_c
160 160 $ hg heads --hidden
161 161 5:5601fb93a350 (draft) [tip ] add new_3_c
162 162 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c [rewritten as 5:5601fb93a350]
163 163 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c [rewritten as 4:ca819180edb9]
164 164 2:245bde4270cd (draft *obsolete*) [ ] add original_c [rewritten as 3:cdbce2fbb163]
165 165
166 166
167 167 check that summary does not report them
168 168
169 169 $ hg init ../sink
170 170 $ echo '[paths]' >> .hg/hgrc
171 171 $ echo 'default=../sink' >> .hg/hgrc
172 172 $ hg summary --remote
173 173 parent: 5:5601fb93a350 tip
174 174 add new_3_c
175 175 branch: default
176 176 commit: (clean)
177 177 update: (current)
178 178 phases: 3 draft
179 179 remote: 3 outgoing
180 180
181 181 $ hg summary --remote --hidden
182 182 parent: 5:5601fb93a350 tip
183 183 add new_3_c
184 184 branch: default
185 185 commit: (clean)
186 186 update: 3 new changesets, 4 branch heads (merge)
187 187 phases: 6 draft
188 188 remote: 3 outgoing
189 189
190 190 check that various commands work well with filtering
191 191
192 192 $ hg tip
193 193 5:5601fb93a350 (draft) [tip ] add new_3_c
194 194 $ hg log -r 6
195 195 abort: unknown revision '6'!
196 196 [255]
197 197 $ hg log -r 4
198 198 abort: hidden revision '4'!
199 199 (use --hidden to access hidden revisions)
200 200 [255]
201 201 $ hg debugrevspec 'rev(6)'
202 202 $ hg debugrevspec 'rev(4)'
203 203 $ hg debugrevspec 'null'
204 204 -1
205 205
206 206 Check that public changeset are not accounted as obsolete:
207 207
208 208 $ hg --hidden phase --public 2
209 209 $ hg log -G
210 210 @ 5:5601fb93a350 (draft phase-divergent) [tip ] add new_3_c
211 211 |
212 212 | o 2:245bde4270cd (public) [ ] add original_c
213 213 |/
214 214 o 1:7c3bad9141dc (public) [ ] add b
215 215 |
216 216 o 0:1f0dee641bb7 (public) [ ] add a
217 217
218 218
219 219 And that bumped changeset are detected
220 220 --------------------------------------
221 221
222 222 If we didn't filtered obsolete changesets out, 3 and 4 would show up too. Also
223 223 note that the bumped changeset (5:5601fb93a350) is not a direct successor of
224 224 the public changeset
225 225
226 226 $ hg log --hidden -r 'phasedivergent()'
227 227 5:5601fb93a350 (draft phase-divergent) [tip ] add new_3_c
228 228
229 229 And that we can't push bumped changeset
230 230
231 231 $ hg push ../tmpa -r 0 --force #(make repo related)
232 232 pushing to ../tmpa
233 233 searching for changes
234 234 warning: repository is unrelated
235 235 adding changesets
236 236 adding manifests
237 237 adding file changes
238 238 added 1 changesets with 1 changes to 1 files (+1 heads)
239 239 $ hg push ../tmpa
240 240 pushing to ../tmpa
241 241 searching for changes
242 242 abort: push includes phase-divergent changeset: 5601fb93a350!
243 243 [255]
244 244
245 245 Fixing "bumped" situation
246 246 We need to create a clone of 5 and add a special marker with a flag
247 247
248 248 $ hg summary
249 249 parent: 5:5601fb93a350 tip (phase-divergent)
250 250 add new_3_c
251 251 branch: default
252 252 commit: (clean)
253 253 update: 1 new changesets, 2 branch heads (merge)
254 254 phases: 1 draft
255 255 phase-divergent: 1 changesets
256 256 $ hg up '5^'
257 257 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
258 258 $ hg revert -ar 5
259 259 adding new_3_c
260 260 $ hg ci -m 'add n3w_3_c'
261 261 created new head
262 262 $ hg debugobsolete -d '1338 0' --flags 1 `getid new_3_c` `getid n3w_3_c`
263 263 obsoleted 1 changesets
264 264 $ hg log -r 'phasedivergent()'
265 265 $ hg log -G
266 266 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
267 267 |
268 268 | o 2:245bde4270cd (public) [ ] add original_c
269 269 |/
270 270 o 1:7c3bad9141dc (public) [ ] add b
271 271 |
272 272 o 0:1f0dee641bb7 (public) [ ] add a
273 273
274 274
275 275 Basic exclusive testing
276 276
277 277 $ hg log -G --hidden
278 278 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
279 279 |
280 280 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c [rewritten as 6:6f9641995072]
281 281 |/
282 282 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c [rewritten as 5:5601fb93a350]
283 283 |/
284 284 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c [rewritten as 4:ca819180edb9]
285 285 |/
286 286 | o 2:245bde4270cd (public) [ ] add original_c
287 287 |/
288 288 o 1:7c3bad9141dc (public) [ ] add b
289 289 |
290 290 o 0:1f0dee641bb7 (public) [ ] add a
291 291
292 292 $ hg debugobsolete --rev 6f9641995072
293 293 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
294 294 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
295 295 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
296 296 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
297 297 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
298 298 $ hg debugobsolete --rev 6f9641995072 --exclusive
299 299 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
300 300 $ hg debugobsolete --rev 5601fb93a350 --hidden
301 301 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
302 302 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
303 303 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
304 304 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
305 305 $ hg debugobsolete --rev 5601fb93a350 --hidden --exclusive
306 306 $ hg debugobsolete --rev 5601fb93a350+6f9641995072 --hidden --exclusive
307 307 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
308 308 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
309 309 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
310 310
311 311 $ cd ..
312 312
313 313 Revision 0 is hidden
314 314 --------------------
315 315
316 316 $ hg init rev0hidden
317 317 $ cd rev0hidden
318 318
319 319 $ mkcommit kill0
320 320 $ hg up -q null
321 321 $ hg debugobsolete `getid kill0`
322 322 obsoleted 1 changesets
323 323 $ mkcommit a
324 324 $ mkcommit b
325 325
326 326 Should pick the first visible revision as "repo" node
327 327
328 328 $ hg archive ../archive-null
329 329 $ cat ../archive-null/.hg_archival.txt
330 330 repo: 1f0dee641bb7258c56bd60e93edfa2405381c41e
331 331 node: 7c3bad9141dcb46ff89abf5f61856facd56e476c
332 332 branch: default
333 333 latesttag: null
334 334 latesttagdistance: 2
335 335 changessincelatesttag: 2
336 336
337 337
338 338 $ cd ..
339 339
340 340 Exchange Test
341 341 ============================
342 342
343 343 Destination repo does not have any data
344 344 ---------------------------------------
345 345
346 346 Simple incoming test
347 347
348 348 $ hg init tmpc
349 349 $ cd tmpc
350 350 $ hg incoming ../tmpb
351 351 comparing with ../tmpb
352 352 0:1f0dee641bb7 (public) [ ] add a
353 353 1:7c3bad9141dc (public) [ ] add b
354 354 2:245bde4270cd (public) [ ] add original_c
355 355 6:6f9641995072 (draft) [tip ] add n3w_3_c
356 356
357 357 Try to pull markers
358 358 (extinct changeset are excluded but marker are pushed)
359 359
360 360 $ hg pull ../tmpb
361 361 pulling from ../tmpb
362 362 requesting all changes
363 363 adding changesets
364 364 adding manifests
365 365 adding file changes
366 366 added 4 changesets with 4 changes to 4 files (+1 heads)
367 367 5 new obsolescence markers
368 368 new changesets 1f0dee641bb7:6f9641995072
369 369 (run 'hg heads' to see heads, 'hg merge' to merge)
370 370 $ hg debugobsolete
371 371 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
372 372 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
373 373 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
374 374 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
375 375 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
376 376
377 377 Rollback//Transaction support
378 378
379 379 $ hg debugobsolete -d '1340 0' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
380 380 $ hg debugobsolete
381 381 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
382 382 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
383 383 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
384 384 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
385 385 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
386 386 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 0 (Thu Jan 01 00:22:20 1970 +0000) {'user': 'test'}
387 387 $ hg rollback -n
388 388 repository tip rolled back to revision 3 (undo debugobsolete)
389 389 $ hg rollback
390 390 repository tip rolled back to revision 3 (undo debugobsolete)
391 391 $ hg debugobsolete
392 392 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
393 393 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
394 394 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
395 395 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
396 396 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
397 397
398 398 $ cd ..
399 399
400 400 Try to push markers
401 401
402 402 $ hg init tmpd
403 403 $ hg -R tmpb push tmpd
404 404 pushing to tmpd
405 405 searching for changes
406 406 adding changesets
407 407 adding manifests
408 408 adding file changes
409 409 added 4 changesets with 4 changes to 4 files (+1 heads)
410 410 5 new obsolescence markers
411 411 $ hg -R tmpd debugobsolete | sort
412 412 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
413 413 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
414 414 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
415 415 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
416 416 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
417 417
418 418 Check obsolete keys are exchanged only if source has an obsolete store
419 419
420 420 $ hg init empty
421 421 $ hg --config extensions.debugkeys=debugkeys.py -R empty push tmpd
422 422 pushing to tmpd
423 423 listkeys phases
424 424 listkeys bookmarks
425 425 no changes found
426 426 listkeys phases
427 427 [1]
428 428
429 429 clone support
430 430 (markers are copied and extinct changesets are included to allow hardlinks)
431 431
432 432 $ hg clone tmpb clone-dest
433 433 updating to branch default
434 434 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
435 435 $ hg -R clone-dest log -G --hidden
436 436 @ 6:6f9641995072 (draft) [tip ] add n3w_3_c
437 437 |
438 438 | x 5:5601fb93a350 (draft *obsolete*) [ ] add new_3_c [rewritten as 6:6f9641995072]
439 439 |/
440 440 | x 4:ca819180edb9 (draft *obsolete*) [ ] add new_2_c [rewritten as 5:5601fb93a350]
441 441 |/
442 442 | x 3:cdbce2fbb163 (draft *obsolete*) [ ] add new_c [rewritten as 4:ca819180edb9]
443 443 |/
444 444 | o 2:245bde4270cd (public) [ ] add original_c
445 445 |/
446 446 o 1:7c3bad9141dc (public) [ ] add b
447 447 |
448 448 o 0:1f0dee641bb7 (public) [ ] add a
449 449
450 450 $ hg -R clone-dest debugobsolete
451 451 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
452 452 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
453 453 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
454 454 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
455 455 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
456 456
457 457
458 458 Destination repo have existing data
459 459 ---------------------------------------
460 460
461 461 On pull
462 462
463 463 $ hg init tmpe
464 464 $ cd tmpe
465 465 $ hg debugobsolete -d '1339 0' 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00
466 466 $ hg pull ../tmpb
467 467 pulling from ../tmpb
468 468 requesting all changes
469 469 adding changesets
470 470 adding manifests
471 471 adding file changes
472 472 added 4 changesets with 4 changes to 4 files (+1 heads)
473 473 5 new obsolescence markers
474 474 new changesets 1f0dee641bb7:6f9641995072
475 475 (run 'hg heads' to see heads, 'hg merge' to merge)
476 476 $ hg debugobsolete
477 477 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
478 478 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
479 479 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
480 480 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
481 481 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
482 482 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
483 483
484 484
485 485 On push
486 486
487 487 $ hg push ../tmpc
488 488 pushing to ../tmpc
489 489 searching for changes
490 490 no changes found
491 491 1 new obsolescence markers
492 492 [1]
493 493 $ hg -R ../tmpc debugobsolete
494 494 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
495 495 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
496 496 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
497 497 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
498 498 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
499 499 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
500 500
501 501 detect outgoing obsolete and unstable
502 502 ---------------------------------------
503 503
504 504
505 505 $ hg log -G
506 506 o 3:6f9641995072 (draft) [tip ] add n3w_3_c
507 507 |
508 508 | o 2:245bde4270cd (public) [ ] add original_c
509 509 |/
510 510 o 1:7c3bad9141dc (public) [ ] add b
511 511 |
512 512 o 0:1f0dee641bb7 (public) [ ] add a
513 513
514 514 $ hg up 'desc("n3w_3_c")'
515 515 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
516 516 $ mkcommit original_d
517 517 $ mkcommit original_e
518 518 $ hg debugobsolete --record-parents `getid original_d` -d '0 0'
519 519 obsoleted 1 changesets
520 520 $ hg debugobsolete | grep `getid original_d`
521 521 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
522 522 $ hg log -r 'obsolete()'
523 523 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
524 524 $ hg summary
525 525 parent: 5:cda648ca50f5 tip (orphan)
526 526 add original_e
527 527 branch: default
528 528 commit: (clean)
529 529 update: 1 new changesets, 2 branch heads (merge)
530 530 phases: 3 draft
531 531 orphan: 1 changesets
532 532 $ hg log -G -r '::orphan()'
533 533 @ 5:cda648ca50f5 (draft orphan) [tip ] add original_e
534 534 |
535 535 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
536 536 |
537 537 o 3:6f9641995072 (draft) [ ] add n3w_3_c
538 538 |
539 539 o 1:7c3bad9141dc (public) [ ] add b
540 540 |
541 541 o 0:1f0dee641bb7 (public) [ ] add a
542 542
543 543
544 544 refuse to push obsolete changeset
545 545
546 546 $ hg push ../tmpc/ -r 'desc("original_d")'
547 547 pushing to ../tmpc/
548 548 searching for changes
549 549 abort: push includes obsolete changeset: 94b33453f93b!
550 550 [255]
551 551
552 552 refuse to push unstable changeset
553 553
554 554 $ hg push ../tmpc/
555 555 pushing to ../tmpc/
556 556 searching for changes
557 557 abort: push includes orphan changeset: cda648ca50f5!
558 558 [255]
559 559
560 560 Test that extinct changeset are properly detected
561 561
562 562 $ hg log -r 'extinct()'
563 563
564 564 Don't try to push extinct changeset
565 565
566 566 $ hg init ../tmpf
567 567 $ hg out ../tmpf
568 568 comparing with ../tmpf
569 569 searching for changes
570 570 0:1f0dee641bb7 (public) [ ] add a
571 571 1:7c3bad9141dc (public) [ ] add b
572 572 2:245bde4270cd (public) [ ] add original_c
573 573 3:6f9641995072 (draft) [ ] add n3w_3_c
574 574 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
575 575 5:cda648ca50f5 (draft orphan) [tip ] add original_e
576 576 $ hg push ../tmpf -f # -f because be push unstable too
577 577 pushing to ../tmpf
578 578 searching for changes
579 579 adding changesets
580 580 adding manifests
581 581 adding file changes
582 582 added 6 changesets with 6 changes to 6 files (+1 heads)
583 583 7 new obsolescence markers
584 584
585 585 no warning displayed
586 586
587 587 $ hg push ../tmpf
588 588 pushing to ../tmpf
589 589 searching for changes
590 590 no changes found
591 591 [1]
592 592
593 593 Do not warn about new head when the new head is a successors of a remote one
594 594
595 595 $ hg log -G
596 596 @ 5:cda648ca50f5 (draft orphan) [tip ] add original_e
597 597 |
598 598 x 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
599 599 |
600 600 o 3:6f9641995072 (draft) [ ] add n3w_3_c
601 601 |
602 602 | o 2:245bde4270cd (public) [ ] add original_c
603 603 |/
604 604 o 1:7c3bad9141dc (public) [ ] add b
605 605 |
606 606 o 0:1f0dee641bb7 (public) [ ] add a
607 607
608 608 $ hg up -q 'desc(n3w_3_c)'
609 609 $ mkcommit obsolete_e
610 610 created new head
611 611 $ hg debugobsolete `getid 'original_e'` `getid 'obsolete_e'` \
612 612 > -u 'test <test@example.net>'
613 613 obsoleted 1 changesets
614 614 $ hg outgoing ../tmpf # parasite hg outgoing testin
615 615 comparing with ../tmpf
616 616 searching for changes
617 617 6:3de5eca88c00 (draft) [tip ] add obsolete_e
618 618 $ hg push ../tmpf
619 619 pushing to ../tmpf
620 620 searching for changes
621 621 adding changesets
622 622 adding manifests
623 623 adding file changes
624 624 added 1 changesets with 1 changes to 1 files (+1 heads)
625 625 1 new obsolescence markers
626 626 obsoleted 1 changesets
627 627
628 628 test relevance computation
629 629 ---------------------------------------
630 630
631 631 Checking simple case of "marker relevance".
632 632
633 633
634 634 Reminder of the repo situation
635 635
636 636 $ hg log --hidden --graph
637 637 @ 6:3de5eca88c00 (draft) [tip ] add obsolete_e
638 638 |
639 639 | x 5:cda648ca50f5 (draft *obsolete*) [ ] add original_e [rewritten as 6:3de5eca88c00 by test <test@example.net>]
640 640 | |
641 641 | x 4:94b33453f93b (draft *obsolete*) [ ] add original_d [pruned]
642 642 |/
643 643 o 3:6f9641995072 (draft) [ ] add n3w_3_c
644 644 |
645 645 | o 2:245bde4270cd (public) [ ] add original_c
646 646 |/
647 647 o 1:7c3bad9141dc (public) [ ] add b
648 648 |
649 649 o 0:1f0dee641bb7 (public) [ ] add a
650 650
651 651
652 652 List of all markers
653 653
654 654 $ hg debugobsolete
655 655 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
656 656 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
657 657 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
658 658 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
659 659 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
660 660 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
661 661 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
662 662 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
663 663
664 664 List of changesets with no chain
665 665
666 666 $ hg debugobsolete --hidden --rev ::2
667 667
668 668 List of changesets that are included on marker chain
669 669
670 670 $ hg debugobsolete --hidden --rev 6
671 671 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
672 672
673 673 List of changesets with a longer chain, (including a pruned children)
674 674
675 675 $ hg debugobsolete --hidden --rev 3
676 676 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
677 677 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
678 678 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
679 679 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
680 680 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
681 681 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
682 682 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
683 683
684 684 List of both
685 685
686 686 $ hg debugobsolete --hidden --rev 3::6
687 687 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
688 688 1339133913391339133913391339133913391339 ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
689 689 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:01 1970 -0002) {'user': 'test'}
690 690 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
691 691 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
692 692 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
693 693 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test <test@example.net>'} (glob)
694 694 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
695 695
696 696 List of all markers in JSON
697 697
698 698 $ hg debugobsolete -Tjson
699 699 [
700 700 {
701 701 "date": [1339.0, 0],
702 702 "flag": 0,
703 703 "metadata": {"user": "test"},
704 704 "prednode": "1339133913391339133913391339133913391339",
705 705 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
706 706 },
707 707 {
708 708 "date": [1339.0, 0],
709 709 "flag": 0,
710 710 "metadata": {"user": "test"},
711 711 "prednode": "1337133713371337133713371337133713371337",
712 712 "succnodes": ["5601fb93a350734d935195fee37f4054c529ff39"]
713 713 },
714 714 {
715 715 "date": [121.0, 120],
716 716 "flag": 12,
717 717 "metadata": {"user": "test"},
718 718 "prednode": "245bde4270cd1072a27757984f9cda8ba26f08ca",
719 719 "succnodes": ["cdbce2fbb16313928851e97e0d85413f3f7eb77f"]
720 720 },
721 721 {
722 722 "date": [1338.0, 0],
723 723 "flag": 1,
724 724 "metadata": {"user": "test"},
725 725 "prednode": "5601fb93a350734d935195fee37f4054c529ff39",
726 726 "succnodes": ["6f96419950729f3671185b847352890f074f7557"]
727 727 },
728 728 {
729 729 "date": [1338.0, 0],
730 730 "flag": 0,
731 731 "metadata": {"user": "test"},
732 732 "prednode": "ca819180edb99ed25ceafb3e9584ac287e240b00",
733 733 "succnodes": ["1337133713371337133713371337133713371337"]
734 734 },
735 735 {
736 736 "date": [1337.0, 0],
737 737 "flag": 0,
738 738 "metadata": {"user": "test"},
739 739 "prednode": "cdbce2fbb16313928851e97e0d85413f3f7eb77f",
740 740 "succnodes": ["ca819180edb99ed25ceafb3e9584ac287e240b00"]
741 741 },
742 742 {
743 743 "date": [0.0, 0],
744 744 "flag": 0,
745 745 "metadata": {"user": "test"},
746 746 "parentnodes": ["6f96419950729f3671185b847352890f074f7557"],
747 747 "prednode": "94b33453f93bdb8d457ef9b770851a618bf413e1",
748 748 "succnodes": []
749 749 },
750 750 {
751 751 "date": *, (glob)
752 752 "flag": 0,
753 753 "metadata": {"user": "test <test@example.net>"},
754 754 "prednode": "cda648ca50f50482b7055c0b0c4c117bba6733d9",
755 755 "succnodes": ["3de5eca88c00aa039da7399a220f4a5221faa585"]
756 756 }
757 757 ]
758 758
759 759 Template keywords
760 760
761 761 $ hg debugobsolete -r6 -T '{succnodes % "{node|short}"} {date|shortdate}\n'
762 762 3de5eca88c00 ????-??-?? (glob)
763 763 $ hg debugobsolete -r6 -T '{join(metadata % "{key}={value}", " ")}\n'
764 764 user=test <test@example.net>
765 765 $ hg debugobsolete -r6 -T '{metadata}\n{metadata}\n'
766 766 'user': 'test <test@example.net>'
767 767 'user': 'test <test@example.net>'
768 768 $ hg debugobsolete -r6 -T '{succnodes}\n{succnodes}\n'
769 769 3de5eca88c00aa039da7399a220f4a5221faa585
770 770 3de5eca88c00aa039da7399a220f4a5221faa585
771 771 $ hg debugobsolete -r6 -T '{flag} {get(metadata, "user")}\n'
772 772 0 test <test@example.net>
773 773
774 774 Test the debug output for exchange
775 775 ----------------------------------
776 776
777 777 $ hg pull ../tmpb --config 'experimental.obsmarkers-exchange-debug=True' # bundle2
778 778 pulling from ../tmpb
779 779 searching for changes
780 780 no changes found
781 781 obsmarker-exchange: 346 bytes received
782 782
783 783 check hgweb does not explode
784 784 ====================================
785 785
786 786 $ hg unbundle $TESTDIR/bundles/hgweb+obs.hg
787 787 adding changesets
788 788 adding manifests
789 789 adding file changes
790 790 added 62 changesets with 63 changes to 9 files (+60 heads)
791 791 new changesets 50c51b361e60:c15e9edfca13
792 792 (run 'hg heads .' to see heads, 'hg merge' to merge)
793 793 $ for node in `hg log -r 'desc(babar_)' --template '{node}\n'`;
794 794 > do
795 795 > hg debugobsolete $node
796 796 > done
797 797 obsoleted 1 changesets
798 798 obsoleted 1 changesets
799 799 obsoleted 1 changesets
800 800 obsoleted 1 changesets
801 801 obsoleted 1 changesets
802 802 obsoleted 1 changesets
803 803 obsoleted 1 changesets
804 804 obsoleted 1 changesets
805 805 obsoleted 1 changesets
806 806 obsoleted 1 changesets
807 807 obsoleted 1 changesets
808 808 obsoleted 1 changesets
809 809 obsoleted 1 changesets
810 810 obsoleted 1 changesets
811 811 obsoleted 1 changesets
812 812 obsoleted 1 changesets
813 813 obsoleted 1 changesets
814 814 obsoleted 1 changesets
815 815 obsoleted 1 changesets
816 816 obsoleted 1 changesets
817 817 obsoleted 1 changesets
818 818 obsoleted 1 changesets
819 819 obsoleted 1 changesets
820 820 obsoleted 1 changesets
821 821 obsoleted 1 changesets
822 822 obsoleted 1 changesets
823 823 obsoleted 1 changesets
824 824 obsoleted 1 changesets
825 825 obsoleted 1 changesets
826 826 obsoleted 1 changesets
827 827 obsoleted 1 changesets
828 828 obsoleted 1 changesets
829 829 obsoleted 1 changesets
830 830 obsoleted 1 changesets
831 831 obsoleted 1 changesets
832 832 obsoleted 1 changesets
833 833 obsoleted 1 changesets
834 834 obsoleted 1 changesets
835 835 obsoleted 1 changesets
836 836 obsoleted 1 changesets
837 837 obsoleted 1 changesets
838 838 obsoleted 1 changesets
839 839 obsoleted 1 changesets
840 840 obsoleted 1 changesets
841 841 obsoleted 1 changesets
842 842 obsoleted 1 changesets
843 843 obsoleted 1 changesets
844 844 obsoleted 1 changesets
845 845 obsoleted 1 changesets
846 846 obsoleted 1 changesets
847 847 obsoleted 1 changesets
848 848 obsoleted 1 changesets
849 849 obsoleted 1 changesets
850 850 obsoleted 1 changesets
851 851 obsoleted 1 changesets
852 852 obsoleted 1 changesets
853 853 obsoleted 1 changesets
854 854 obsoleted 1 changesets
855 855 obsoleted 1 changesets
856 856 obsoleted 1 changesets
857 857 $ hg up tip
858 858 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
859 859
860 860 #if serve
861 861
862 862 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
863 863 $ cat hg.pid >> $DAEMON_PIDS
864 864
865 865 check changelog view
866 866
867 867 $ get-with-headers.py --headeronly localhost:$HGPORT 'shortlog/'
868 868 200 Script output follows
869 869
870 870 check graph view
871 871
872 872 $ get-with-headers.py --headeronly localhost:$HGPORT 'graph'
873 873 200 Script output follows
874 874
875 875 check filelog view
876 876
877 877 $ get-with-headers.py --headeronly localhost:$HGPORT 'log/'`hg log -r . -T "{node}"`/'babar'
878 878 200 Script output follows
879 879
880 880 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/68'
881 881 200 Script output follows
882 882 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
883 883 404 Not Found
884 884 [1]
885 885
886 886 check that web.view config option:
887 887
888 888 $ killdaemons.py hg.pid
889 889 $ cat >> .hg/hgrc << EOF
890 890 > [web]
891 891 > view=all
892 892 > EOF
893 893 $ wait
894 894 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
895 895 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/67'
896 896 200 Script output follows
897 897 $ killdaemons.py hg.pid
898 898
899 899 Checking _enable=False warning if obsolete marker exists
900 900
901 901 $ echo '[experimental]' >> $HGRCPATH
902 902 $ echo "stabilization=" >> $HGRCPATH
903 903 $ hg log -r tip
904 904 obsolete feature not enabled but 68 markers found!
905 905 68:c15e9edfca13 (draft) [tip ] add celestine
906 906
907 907 reenable for later test
908 908
909 909 $ echo '[experimental]' >> $HGRCPATH
910 910 $ echo "stabilization=createmarkers,exchange" >> $HGRCPATH
911 911
912 912 $ rm hg.pid access.log errors.log
913 913 #endif
914 914
915 915 Several troubles on the same changeset (create an unstable and bumped changeset)
916 916
917 917 $ hg debugobsolete `getid obsolete_e`
918 918 obsoleted 1 changesets
919 919 $ hg debugobsolete `getid original_c` `getid babar`
920 920 $ hg log --config ui.logtemplate= -r 'phasedivergent() and orphan()'
921 921 changeset: 7:50c51b361e60
922 922 user: test
923 923 date: Thu Jan 01 00:00:00 1970 +0000
924 924 instability: orphan, phase-divergent
925 925 summary: add babar
926 926
927 927
928 928 test the "obsolete" templatekw
929 929
930 930 $ hg log -r 'obsolete()'
931 931 6:3de5eca88c00 (draft *obsolete*) [ ] add obsolete_e [pruned]
932 932
933 933 test the "troubles" templatekw
934 934
935 935 $ hg log -r 'phasedivergent() and orphan()'
936 936 7:50c51b361e60 (draft orphan phase-divergent) [ ] add babar
937 937
938 938 test the default cmdline template
939 939
940 940 $ hg log -T default -r 'phasedivergent()'
941 941 changeset: 7:50c51b361e60
942 942 user: test
943 943 date: Thu Jan 01 00:00:00 1970 +0000
944 944 instability: orphan, phase-divergent
945 945 summary: add babar
946 946
947 947 $ hg log -T default -r 'obsolete()'
948 948 changeset: 6:3de5eca88c00
949 949 parent: 3:6f9641995072
950 950 user: test
951 951 date: Thu Jan 01 00:00:00 1970 +0000
952 obsfate: pruned
952 953 summary: add obsolete_e
953 954
954 955
955 956 test the obsolete labels
956 957
957 958 $ hg log --config ui.logtemplate= --color=debug -r 'phasedivergent()'
958 959 [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent|changeset: 7:50c51b361e60]
959 960 [log.user|user: test]
960 961 [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
961 962 [log.instability|instability: orphan, phase-divergent]
962 963 [log.summary|summary: add babar]
963 964
964 965
965 966 $ hg log -T default -r 'phasedivergent()' --color=debug
966 967 [log.changeset changeset.draft changeset.unstable instability.orphan instability.phase-divergent|changeset: 7:50c51b361e60]
967 968 [log.user|user: test]
968 969 [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
969 970 [log.instability|instability: orphan, phase-divergent]
970 971 [log.summary|summary: add babar]
971 972
972 973
973 974 $ hg log --config ui.logtemplate= --color=debug -r "obsolete()"
974 975 [log.changeset changeset.draft changeset.obsolete|changeset: 6:3de5eca88c00]
975 976 [log.parent changeset.draft|parent: 3:6f9641995072]
976 977 [log.user|user: test]
977 978 [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
978 979 [log.obsfate|obsfate: pruned]
979 980 [log.summary|summary: add obsolete_e]
980 981
981 982
982 983 $ hg log -T default -r 'obsolete()' --color=debug
983 984 [log.changeset changeset.draft changeset.obsolete|changeset: 6:3de5eca88c00]
984 985 [log.parent changeset.draft|parent: 3:6f9641995072]
985 986 [log.user|user: test]
986 987 [log.date|date: Thu Jan 01 00:00:00 1970 +0000]
988 [log.obsfate|obsfate: pruned]
987 989 [log.summary|summary: add obsolete_e]
988 990
989 991
990 992 test summary output
991 993
992 994 $ hg up -r 'phasedivergent() and orphan()'
993 995 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
994 996 $ hg summary
995 997 parent: 7:50c51b361e60 (orphan, phase-divergent)
996 998 add babar
997 999 branch: default
998 1000 commit: (clean)
999 1001 update: 2 new changesets (update)
1000 1002 phases: 4 draft
1001 1003 orphan: 2 changesets
1002 1004 phase-divergent: 1 changesets
1003 1005 $ hg up -r 'obsolete()'
1004 1006 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1005 1007 $ hg summary
1006 1008 parent: 6:3de5eca88c00 (obsolete)
1007 1009 add obsolete_e
1008 1010 branch: default
1009 1011 commit: (clean)
1010 1012 update: 3 new changesets (update)
1011 1013 phases: 4 draft
1012 1014 orphan: 2 changesets
1013 1015 phase-divergent: 1 changesets
1014 1016
1015 1017 Test incoming/outcoming with changesets obsoleted remotely, known locally
1016 1018 ===============================================================================
1017 1019
1018 1020 This test issue 3805
1019 1021
1020 1022 $ hg init repo-issue3805
1021 1023 $ cd repo-issue3805
1022 1024 $ echo "base" > base
1023 1025 $ hg ci -Am "base"
1024 1026 adding base
1025 1027 $ echo "foo" > foo
1026 1028 $ hg ci -Am "A"
1027 1029 adding foo
1028 1030 $ hg clone . ../other-issue3805
1029 1031 updating to branch default
1030 1032 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1031 1033 $ echo "bar" >> foo
1032 1034 $ hg ci --amend
1033 1035 $ cd ../other-issue3805
1034 1036 $ hg log -G
1035 1037 @ 1:29f0c6921ddd (draft) [tip ] A
1036 1038 |
1037 1039 o 0:d20a80d4def3 (draft) [ ] base
1038 1040
1039 1041 $ hg log -G -R ../repo-issue3805
1040 1042 @ 2:323a9c3ddd91 (draft) [tip ] A
1041 1043 |
1042 1044 o 0:d20a80d4def3 (draft) [ ] base
1043 1045
1044 1046 $ hg incoming
1045 1047 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
1046 1048 searching for changes
1047 1049 2:323a9c3ddd91 (draft) [tip ] A
1048 1050 $ hg incoming --bundle ../issue3805.hg
1049 1051 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
1050 1052 searching for changes
1051 1053 2:323a9c3ddd91 (draft) [tip ] A
1052 1054 $ hg outgoing
1053 1055 comparing with $TESTTMP/tmpe/repo-issue3805 (glob)
1054 1056 searching for changes
1055 1057 1:29f0c6921ddd (draft) [tip ] A
1056 1058
1057 1059 #if serve
1058 1060
1059 1061 $ hg serve -R ../repo-issue3805 -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
1060 1062 $ cat hg.pid >> $DAEMON_PIDS
1061 1063
1062 1064 $ hg incoming http://localhost:$HGPORT
1063 1065 comparing with http://localhost:$HGPORT/
1064 1066 searching for changes
1065 1067 2:323a9c3ddd91 (draft) [tip ] A
1066 1068 $ hg outgoing http://localhost:$HGPORT
1067 1069 comparing with http://localhost:$HGPORT/
1068 1070 searching for changes
1069 1071 1:29f0c6921ddd (draft) [tip ] A
1070 1072
1071 1073 $ killdaemons.py
1072 1074
1073 1075 #endif
1074 1076
1075 1077 This test issue 3814
1076 1078
1077 1079 (nothing to push but locally hidden changeset)
1078 1080
1079 1081 $ cd ..
1080 1082 $ hg init repo-issue3814
1081 1083 $ cd repo-issue3805
1082 1084 $ hg push -r 323a9c3ddd91 ../repo-issue3814
1083 1085 pushing to ../repo-issue3814
1084 1086 searching for changes
1085 1087 adding changesets
1086 1088 adding manifests
1087 1089 adding file changes
1088 1090 added 2 changesets with 2 changes to 2 files
1089 1091 1 new obsolescence markers
1090 1092 $ hg out ../repo-issue3814
1091 1093 comparing with ../repo-issue3814
1092 1094 searching for changes
1093 1095 no changes found
1094 1096 [1]
1095 1097
1096 1098 Test that a local tag blocks a changeset from being hidden
1097 1099
1098 1100 $ hg tag -l visible -r 1 --hidden
1099 1101 $ hg log -G
1100 1102 @ 2:323a9c3ddd91 (draft) [tip ] A
1101 1103 |
1102 1104 | x 1:29f0c6921ddd (draft *obsolete*) [visible ] A [rewritten using amend as 2:323a9c3ddd91]
1103 1105 |/
1104 1106 o 0:d20a80d4def3 (draft) [ ] base
1105 1107
1106 1108 Test that removing a local tag does not cause some commands to fail
1107 1109
1108 1110 $ hg tag -l -r tip tiptag
1109 1111 $ hg tags
1110 1112 tiptag 2:323a9c3ddd91
1111 1113 tip 2:323a9c3ddd91
1112 1114 visible 1:29f0c6921ddd
1113 1115 $ hg --config extensions.strip= strip -r tip --no-backup
1114 1116 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1115 1117 $ hg tags
1116 1118 visible 1:29f0c6921ddd
1117 1119 tip 1:29f0c6921ddd
1118 1120
1119 1121 Test bundle overlay onto hidden revision
1120 1122
1121 1123 $ cd ..
1122 1124 $ hg init repo-bundleoverlay
1123 1125 $ cd repo-bundleoverlay
1124 1126 $ echo "A" > foo
1125 1127 $ hg ci -Am "A"
1126 1128 adding foo
1127 1129 $ echo "B" >> foo
1128 1130 $ hg ci -m "B"
1129 1131 $ hg up 0
1130 1132 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1131 1133 $ echo "C" >> foo
1132 1134 $ hg ci -m "C"
1133 1135 created new head
1134 1136 $ hg log -G
1135 1137 @ 2:c186d7714947 (draft) [tip ] C
1136 1138 |
1137 1139 | o 1:44526ebb0f98 (draft) [ ] B
1138 1140 |/
1139 1141 o 0:4b34ecfb0d56 (draft) [ ] A
1140 1142
1141 1143
1142 1144 $ hg clone -r1 . ../other-bundleoverlay
1143 1145 adding changesets
1144 1146 adding manifests
1145 1147 adding file changes
1146 1148 added 2 changesets with 2 changes to 1 files
1147 1149 new changesets 4b34ecfb0d56:44526ebb0f98
1148 1150 updating to branch default
1149 1151 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1150 1152 $ cd ../other-bundleoverlay
1151 1153 $ echo "B+" >> foo
1152 1154 $ hg ci --amend -m "B+"
1153 1155 $ hg log -G --hidden
1154 1156 @ 2:b7d587542d40 (draft) [tip ] B+
1155 1157 |
1156 1158 | x 1:44526ebb0f98 (draft *obsolete*) [ ] B [rewritten using amend as 2:b7d587542d40]
1157 1159 |/
1158 1160 o 0:4b34ecfb0d56 (draft) [ ] A
1159 1161
1160 1162
1161 1163 $ hg incoming ../repo-bundleoverlay --bundle ../bundleoverlay.hg
1162 1164 comparing with ../repo-bundleoverlay
1163 1165 searching for changes
1164 1166 1:44526ebb0f98 (draft) [ ] B
1165 1167 2:c186d7714947 (draft) [tip ] C
1166 1168 $ hg log -G -R ../bundleoverlay.hg
1167 1169 o 3:c186d7714947 (draft) [tip ] C
1168 1170 |
1169 1171 | @ 2:b7d587542d40 (draft) [ ] B+
1170 1172 |/
1171 1173 o 0:4b34ecfb0d56 (draft) [ ] A
1172 1174
1173 1175
1174 1176 #if serve
1175 1177
1176 1178 Test issue 4506
1177 1179
1178 1180 $ cd ..
1179 1181 $ hg init repo-issue4506
1180 1182 $ cd repo-issue4506
1181 1183 $ echo "0" > foo
1182 1184 $ hg add foo
1183 1185 $ hg ci -m "content-0"
1184 1186
1185 1187 $ hg up null
1186 1188 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1187 1189 $ echo "1" > bar
1188 1190 $ hg add bar
1189 1191 $ hg ci -m "content-1"
1190 1192 created new head
1191 1193 $ hg up 0
1192 1194 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1193 1195 $ hg graft 1
1194 1196 grafting 1:1c9eddb02162 "content-1" (tip)
1195 1197
1196 1198 $ hg debugobsolete `hg log -r1 -T'{node}'` `hg log -r2 -T'{node}'`
1197 1199 obsoleted 1 changesets
1198 1200
1199 1201 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
1200 1202 $ cat hg.pid >> $DAEMON_PIDS
1201 1203
1202 1204 $ get-with-headers.py --headeronly localhost:$HGPORT 'rev/1'
1203 1205 404 Not Found
1204 1206 [1]
1205 1207 $ get-with-headers.py --headeronly localhost:$HGPORT 'file/tip/bar'
1206 1208 200 Script output follows
1207 1209 $ get-with-headers.py --headeronly localhost:$HGPORT 'annotate/tip/bar'
1208 1210 200 Script output follows
1209 1211
1210 1212 $ killdaemons.py
1211 1213
1212 1214 #endif
1213 1215
1214 1216 Test heads computation on pending index changes with obsolescence markers
1215 1217 $ cd ..
1216 1218 $ cat >$TESTTMP/test_extension.py << EOF
1217 1219 > from __future__ import absolute_import
1218 1220 > from mercurial.i18n import _
1219 1221 > from mercurial import cmdutil, registrar
1220 1222 >
1221 1223 > cmdtable = {}
1222 1224 > command = registrar.command(cmdtable)
1223 1225 > @command(b"amendtransient",[], _('hg amendtransient [rev]'))
1224 1226 > def amend(ui, repo, *pats, **opts):
1225 1227 > opts['message'] = 'Test'
1226 1228 > opts['logfile'] = None
1227 1229 > cmdutil.amend(ui, repo, repo['.'], {}, pats, opts)
1228 1230 > ui.write('%s\n' % repo.changelog.headrevs())
1229 1231 > EOF
1230 1232 $ cat >> $HGRCPATH << EOF
1231 1233 > [extensions]
1232 1234 > testextension=$TESTTMP/test_extension.py
1233 1235 > EOF
1234 1236 $ hg init repo-issue-nativerevs-pending-changes
1235 1237 $ cd repo-issue-nativerevs-pending-changes
1236 1238 $ mkcommit a
1237 1239 $ mkcommit b
1238 1240 $ hg up ".^"
1239 1241 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1240 1242 $ echo aa > a
1241 1243 $ hg amendtransient
1242 1244 [1, 2]
1243 1245
1244 1246 Test cache consistency for the visible filter
1245 1247 1) We want to make sure that the cached filtered revs are invalidated when
1246 1248 bookmarks change
1247 1249 $ cd ..
1248 1250 $ cat >$TESTTMP/test_extension.py << EOF
1249 1251 > from __future__ import absolute_import, print_function
1250 1252 > import weakref
1251 1253 > from mercurial import (
1252 1254 > bookmarks,
1253 1255 > cmdutil,
1254 1256 > extensions,
1255 1257 > repoview,
1256 1258 > )
1257 1259 > def _bookmarkchanged(orig, bkmstoreinst, *args, **kwargs):
1258 1260 > reporef = weakref.ref(bkmstoreinst._repo)
1259 1261 > def trhook(tr):
1260 1262 > repo = reporef()
1261 1263 > hidden1 = repoview.computehidden(repo)
1262 1264 > hidden = repoview.filterrevs(repo, 'visible')
1263 1265 > if sorted(hidden1) != sorted(hidden):
1264 1266 > print("cache inconsistency")
1265 1267 > bkmstoreinst._repo.currenttransaction().addpostclose('test_extension', trhook)
1266 1268 > orig(bkmstoreinst, *args, **kwargs)
1267 1269 > def extsetup(ui):
1268 1270 > extensions.wrapfunction(bookmarks.bmstore, '_recordchange',
1269 1271 > _bookmarkchanged)
1270 1272 > EOF
1271 1273
1272 1274 $ hg init repo-cache-inconsistency
1273 1275 $ cd repo-issue-nativerevs-pending-changes
1274 1276 $ mkcommit a
1275 1277 a already tracked!
1276 1278 $ mkcommit b
1277 1279 $ hg id
1278 1280 13bedc178fce tip
1279 1281 $ echo "hello" > b
1280 1282 $ hg commit --amend -m "message"
1281 1283 $ hg book bookb -r 13bedc178fce --hidden
1282 1284 $ hg log -r 13bedc178fce
1283 1285 4:13bedc178fce (draft *obsolete*) [ bookb] add b [rewritten using amend as 5:a9b1f8652753]
1284 1286 $ hg book -d bookb
1285 1287 $ hg log -r 13bedc178fce
1286 1288 abort: hidden revision '13bedc178fce'!
1287 1289 (use --hidden to access hidden revisions)
1288 1290 [255]
1289 1291
1290 1292 Empty out the test extension, as it isn't compatible with later parts
1291 1293 of the test.
1292 1294 $ echo > $TESTTMP/test_extension.py
1293 1295
1294 1296 Test ability to pull changeset with locally applying obsolescence markers
1295 1297 (issue4945)
1296 1298
1297 1299 $ cd ..
1298 1300 $ hg init issue4845
1299 1301 $ cd issue4845
1300 1302
1301 1303 $ echo foo > f0
1302 1304 $ hg add f0
1303 1305 $ hg ci -m '0'
1304 1306 $ echo foo > f1
1305 1307 $ hg add f1
1306 1308 $ hg ci -m '1'
1307 1309 $ echo foo > f2
1308 1310 $ hg add f2
1309 1311 $ hg ci -m '2'
1310 1312
1311 1313 $ echo bar > f2
1312 1314 $ hg commit --amend --config experimetnal.stabilization=createmarkers
1313 1315 $ hg log -G
1314 1316 @ 3:b0551702f918 (draft) [tip ] 2
1315 1317 |
1316 1318 o 1:e016b03fd86f (draft) [ ] 1
1317 1319 |
1318 1320 o 0:a78f55e5508c (draft) [ ] 0
1319 1321
1320 1322 $ hg log -G --hidden
1321 1323 @ 3:b0551702f918 (draft) [tip ] 2
1322 1324 |
1323 1325 | x 2:e008cf283490 (draft *obsolete*) [ ] 2 [rewritten using amend as 3:b0551702f918]
1324 1326 |/
1325 1327 o 1:e016b03fd86f (draft) [ ] 1
1326 1328 |
1327 1329 o 0:a78f55e5508c (draft) [ ] 0
1328 1330
1329 1331
1330 1332 $ hg strip --hidden -r 2 --config extensions.strip= --config devel.strip-obsmarkers=no
1331 1333 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e008cf283490-ede36964-backup.hg (glob)
1332 1334 $ hg debugobsolete
1333 1335 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1334 1336 $ hg log -G
1335 1337 @ 2:b0551702f918 (draft) [tip ] 2
1336 1338 |
1337 1339 o 1:e016b03fd86f (draft) [ ] 1
1338 1340 |
1339 1341 o 0:a78f55e5508c (draft) [ ] 0
1340 1342
1341 1343 $ hg log -G --hidden
1342 1344 @ 2:b0551702f918 (draft) [tip ] 2
1343 1345 |
1344 1346 o 1:e016b03fd86f (draft) [ ] 1
1345 1347 |
1346 1348 o 0:a78f55e5508c (draft) [ ] 0
1347 1349
1348 1350 $ hg debugbundle .hg/strip-backup/e008cf283490-*-backup.hg
1349 1351 Stream params: {Compression: BZ}
1350 1352 changegroup -- {nbchanges: 1, version: 02}
1351 1353 e008cf2834908e5d6b0f792a9d4b0e2272260fb8
1352 1354 phase-heads -- {}
1353 1355 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 draft
1354 1356
1355 1357 $ hg pull .hg/strip-backup/e008cf283490-*-backup.hg
1356 1358 pulling from .hg/strip-backup/e008cf283490-ede36964-backup.hg
1357 1359 searching for changes
1358 1360 no changes found
1359 1361 $ hg debugobsolete
1360 1362 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1361 1363 $ hg log -G
1362 1364 @ 2:b0551702f918 (draft) [tip ] 2
1363 1365 |
1364 1366 o 1:e016b03fd86f (draft) [ ] 1
1365 1367 |
1366 1368 o 0:a78f55e5508c (draft) [ ] 0
1367 1369
1368 1370 $ hg log -G --hidden
1369 1371 @ 2:b0551702f918 (draft) [tip ] 2
1370 1372 |
1371 1373 o 1:e016b03fd86f (draft) [ ] 1
1372 1374 |
1373 1375 o 0:a78f55e5508c (draft) [ ] 0
1374 1376
1375 1377
1376 1378 Testing that strip remove markers:
1377 1379
1378 1380 $ hg strip -r 1 --config extensions.strip=
1379 1381 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
1380 1382 saved backup bundle to $TESTTMP/tmpe/issue4845/.hg/strip-backup/e016b03fd86f-65ede734-backup.hg (glob)
1381 1383 $ hg debugobsolete
1382 1384 $ hg log -G
1383 1385 @ 0:a78f55e5508c (draft) [tip ] 0
1384 1386
1385 1387 $ hg log -G --hidden
1386 1388 @ 0:a78f55e5508c (draft) [tip ] 0
1387 1389
1388 1390 $ hg debugbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
1389 1391 Stream params: {Compression: BZ}
1390 1392 changegroup -- {nbchanges: 2, version: 02}
1391 1393 e016b03fd86fcccc54817d120b90b751aaf367d6
1392 1394 b0551702f918510f01ae838ab03a463054c67b46
1393 1395 obsmarkers -- {}
1394 1396 version: 1 (86 bytes)
1395 1397 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1396 1398 phase-heads -- {}
1397 1399 b0551702f918510f01ae838ab03a463054c67b46 draft
1398 1400
1399 1401 $ hg unbundle .hg/strip-backup/e016b03fd86f-*-backup.hg
1400 1402 adding changesets
1401 1403 adding manifests
1402 1404 adding file changes
1403 1405 added 2 changesets with 2 changes to 2 files
1404 1406 1 new obsolescence markers
1405 1407 new changesets e016b03fd86f:b0551702f918
1406 1408 (run 'hg update' to get a working copy)
1407 1409 $ hg debugobsolete | sort
1408 1410 e008cf2834908e5d6b0f792a9d4b0e2272260fb8 b0551702f918510f01ae838ab03a463054c67b46 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1409 1411 $ hg log -G
1410 1412 o 2:b0551702f918 (draft) [tip ] 2
1411 1413 |
1412 1414 o 1:e016b03fd86f (draft) [ ] 1
1413 1415 |
1414 1416 @ 0:a78f55e5508c (draft) [ ] 0
1415 1417
1416 1418 $ hg log -G --hidden
1417 1419 o 2:b0551702f918 (draft) [tip ] 2
1418 1420 |
1419 1421 o 1:e016b03fd86f (draft) [ ] 1
1420 1422 |
1421 1423 @ 0:a78f55e5508c (draft) [ ] 0
1422 1424
1423 1425 Test that 'hg debugobsolete --index --rev' can show indices of obsmarkers when
1424 1426 only a subset of those are displayed (because of --rev option)
1425 1427 $ hg init doindexrev
1426 1428 $ cd doindexrev
1427 1429 $ echo a > a
1428 1430 $ hg ci -Am a
1429 1431 adding a
1430 1432 $ hg ci --amend -m aa
1431 1433 $ echo b > b
1432 1434 $ hg ci -Am b
1433 1435 adding b
1434 1436 $ hg ci --amend -m bb
1435 1437 $ echo c > c
1436 1438 $ hg ci -Am c
1437 1439 adding c
1438 1440 $ hg ci --amend -m cc
1439 1441 $ echo d > d
1440 1442 $ hg ci -Am d
1441 1443 adding d
1442 1444 $ hg ci --amend -m dd --config experimental.stabilization.track-operation=1
1443 1445 $ hg debugobsolete --index --rev "3+7"
1444 1446 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1445 1447 3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 \(.*\) {'operation': 'amend', 'user': 'test'} (re)
1446 1448 $ hg debugobsolete --index --rev "3+7" -Tjson
1447 1449 [
1448 1450 {
1449 1451 "date": [0.0, 0],
1450 1452 "flag": 0,
1451 1453 "index": 1,
1452 1454 "metadata": {"operation": "amend", "user": "test"},
1453 1455 "prednode": "6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1",
1454 1456 "succnodes": ["d27fb9b066076fd921277a4b9e8b9cb48c95bc6a"]
1455 1457 },
1456 1458 {
1457 1459 "date": [0.0, 0],
1458 1460 "flag": 0,
1459 1461 "index": 3,
1460 1462 "metadata": {"operation": "amend", "user": "test"},
1461 1463 "prednode": "4715cf767440ed891755448016c2b8cf70760c30",
1462 1464 "succnodes": ["7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d"]
1463 1465 }
1464 1466 ]
1465 1467
1466 1468 Test the --delete option of debugobsolete command
1467 1469 $ hg debugobsolete --index
1468 1470 0 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1469 1471 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1470 1472 2 1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1471 1473 3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1472 1474 $ hg debugobsolete --delete 1 --delete 3
1473 1475 deleted 2 obsolescence markers
1474 1476 $ hg debugobsolete
1475 1477 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b f9bd49731b0b175e42992a3c8fa6c678b2bc11f1 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1476 1478 1ab51af8f9b41ef8c7f6f3312d4706d870b1fb74 29346082e4a9e27042b62d2da0e2de211c027621 0 (Thu Jan 01 00:00:00 1970 +0000) {'operation': 'amend', 'user': 'test'}
1477 1479
1478 1480 Test adding changeset after obsmarkers affecting it
1479 1481 (eg: during pull, or unbundle)
1480 1482
1481 1483 $ mkcommit e
1482 1484 $ hg bundle -r . --base .~1 ../bundle-2.hg
1483 1485 1 changesets found
1484 1486 $ getid .
1485 1487 $ hg --config extensions.strip= strip -r .
1486 1488 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1487 1489 saved backup bundle to $TESTTMP/tmpe/issue4845/doindexrev/.hg/strip-backup/9bc153528424-ee80edd4-backup.hg (glob)
1488 1490 $ hg debugobsolete 9bc153528424ea266d13e57f9ff0d799dfe61e4b
1489 1491 $ hg unbundle ../bundle-2.hg
1490 1492 adding changesets
1491 1493 adding manifests
1492 1494 adding file changes
1493 1495 added 1 changesets with 1 changes to 1 files
1494 1496 (run 'hg update' to get a working copy)
1495 1497 $ hg log -G
1496 1498 @ 7:7ae79c5d60f0 (draft) [tip ] dd
1497 1499 |
1498 1500 | o 6:4715cf767440 (draft) [ ] d
1499 1501 |/
1500 1502 o 5:29346082e4a9 (draft) [ ] cc
1501 1503 |
1502 1504 o 3:d27fb9b06607 (draft) [ ] bb
1503 1505 |
1504 1506 | o 2:6fdef60fcbab (draft) [ ] b
1505 1507 |/
1506 1508 o 1:f9bd49731b0b (draft) [ ] aa
1507 1509
1508 1510
1509 1511 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now