##// END OF EJS Templates
debugobsolete: add a --rev argument...
Pierre-Yves David -
r22274:10e87c67 default
parent child Browse files
Show More
@@ -2310,6 +2310,7 b' def debuglabelcomplete(ui, repo, *args):'
2310 [('', 'flags', 0, _('markers flag')),
2310 [('', 'flags', 0, _('markers flag')),
2311 ('', 'record-parents', False,
2311 ('', 'record-parents', False,
2312 _('record parent information for the precursor')),
2312 _('record parent information for the precursor')),
2313 ('r', 'rev', [], _('display markers relevant to REV')),
2313 ] + commitopts2,
2314 ] + commitopts2,
2314 _('[OBSOLETED [REPLACEMENT] [REPL... ]'))
2315 _('[OBSOLETED [REPLACEMENT] [REPL... ]'))
2315 def debugobsolete(ui, repo, precursor=None, *successors, **opts):
2316 def debugobsolete(ui, repo, precursor=None, *successors, **opts):
@@ -2331,6 +2332,8 b' def debugobsolete(ui, repo, precursor=No'
2331 'node identifiers')
2332 'node identifiers')
2332
2333
2333 if precursor is not None:
2334 if precursor is not None:
2335 if opts['rev']:
2336 raise util.Abort('cannot select revision when creating marker')
2334 metadata = {}
2337 metadata = {}
2335 metadata['user'] = opts['user'] or ui.username()
2338 metadata['user'] = opts['user'] or ui.username()
2336 succs = tuple(parsenodeid(succ) for succ in successors)
2339 succs = tuple(parsenodeid(succ) for succ in successors)
@@ -2363,7 +2366,15 b' def debugobsolete(ui, repo, precursor=No'
2363 finally:
2366 finally:
2364 l.release()
2367 l.release()
2365 else:
2368 else:
2366 for m in obsolete.getmarkers(repo):
2369 if opts['rev']:
2370 revs = scmutil.revrange(repo, opts['rev'])
2371 nodes = [repo[r].node() for r in revs]
2372 markers = list(obsolete.getmarkers(repo, nodes=nodes))
2373 markers.sort(key=lambda x: x._data)
2374 else:
2375 markers = obsolete.getmarkers(repo)
2376
2377 for m in markers:
2367 cmdutil.showmarker(ui, m)
2378 cmdutil.showmarker(ui, m)
2368
2379
2369 @command('debugpathcomplete',
2380 @command('debugpathcomplete',
@@ -494,11 +494,25 b' def pushmarker(repo, key, old, new):'
494 finally:
494 finally:
495 lock.release()
495 lock.release()
496
496
497 def getmarkers(repo):
497 def getmarkers(repo, nodes=None):
498 """returns markers known in a repository"""
498 """returns markers known in a repository
499 for markerdata in repo.obsstore:
499
500 If <nodes> is specified, only markers "relevant" to those nodes are are
501 returned"""
502 if nodes is None:
503 rawmarkers = repo.obsstore
504 else:
505 rawmarkers = repo.obsstore.relevantmarkers(nodes)
506
507 for markerdata in rawmarkers:
500 yield marker(repo, markerdata)
508 yield marker(repo, markerdata)
501
509
510 def relevantmarkers(repo, node):
511 """all obsolete markers relevant to some revision"""
512 for markerdata in repo.obsstore.relevantmarkers(node):
513 yield marker(repo, markerdata)
514
515
502 def precursormarkers(ctx):
516 def precursormarkers(ctx):
503 """obsolete marker marking this changeset as a successors"""
517 """obsolete marker marking this changeset as a successors"""
504 for data in ctx._repo.obsstore.precursors.get(ctx.node(), ()):
518 for data in ctx._repo.obsstore.precursors.get(ctx.node(), ()):
@@ -244,7 +244,7 b' Show all commands + options'
244 debuginstall:
244 debuginstall:
245 debugknown:
245 debugknown:
246 debuglabelcomplete:
246 debuglabelcomplete:
247 debugobsolete: flags, record-parents, date, user
247 debugobsolete: flags, record-parents, rev, date, user
248 debugpathcomplete: full, normal, added, removed
248 debugpathcomplete: full, normal, added, removed
249 debugpushkey:
249 debugpushkey:
250 debugpvec:
250 debugpvec:
@@ -513,6 +513,72 b' Do not warn about new head when the new '
513 adding file changes
513 adding file changes
514 added 1 changesets with 1 changes to 1 files (+1 heads)
514 added 1 changesets with 1 changes to 1 files (+1 heads)
515
515
516 test relevance computation
517 ---------------------------------------
518
519 Checking simple case of "marker relevance".
520
521
522 Reminder of the repo situation
523
524 $ hg log --hidden --graph
525 @ 6:3de5eca88c00 (draft) [tip ] add obsolete_e
526 |
527 | x 5:cda648ca50f5 (draft) [ ] add original_e
528 | |
529 | x 4:94b33453f93b (draft) [ ] add original_d
530 |/
531 o 3:6f9641995072 (draft) [ ] add n3w_3_c
532 |
533 | o 2:245bde4270cd (public) [ ] add original_c
534 |/
535 o 1:7c3bad9141dc (public) [ ] add b
536 |
537 o 0:1f0dee641bb7 (public) [ ] add a
538
539
540 List of all markers
541
542 $ hg debugobsolete
543 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
544 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
545 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
546 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
547 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
548 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
549 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
550 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
551
552 List of changesets with no chain
553
554 $ hg debugobsolete --hidden --rev ::2
555
556 List of changesets that are included on marker chain
557
558 $ hg debugobsolete --hidden --rev 6
559 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
560
561 List of changesets with a longer chain, (including a pruned children)
562
563 $ hg debugobsolete --hidden --rev 3
564 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
565 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
566 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
567 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
568 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
569 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
570
571 List of both
572
573 $ hg debugobsolete --hidden --rev 3::6
574 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'}
575 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'}
576 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
577 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
578 ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'}
579 cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob)
580 cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'}
581
516 #if serve
582 #if serve
517
583
518 check hgweb does not explode
584 check hgweb does not explode
General Comments 0
You need to be logged in to leave comments. Login now