comparison mercurial/obsolete.py @ 22274:10e87c67f1c7

debugobsolete: add a --rev argument This argument can be used to list markers relevant to a set of revisions. We add a test for this option and the relevant computation in the same move.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 19 Aug 2014 23:22:44 -0700
parents e6d01239f779
children a65697c3f20e
comparison
equal deleted inserted replaced
22273:e6d01239f779 22274:10e87c67f1c7
492 finally: 492 finally:
493 tr.release() 493 tr.release()
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)
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
501 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(), ()):
505 yield marker(ctx._repo, data) 519 yield marker(ctx._repo, data)