comparison mercurial/debugcommands.py @ 32626:00a7f7b1af9c

obsolete: add a function to compute "exclusive-markers" for a set of nodes This set will be used to select the obsmarkers to be stripped alongside the stripped changesets. See the function docstring for details. More advanced testing is introduced in the next changesets to keep this one simpler. That extra testing provides more example.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 20 May 2017 15:02:30 +0200
parents b62b2b373bce
children 3ef319e9505f
comparison
equal deleted inserted replaced
32625:c618f7ebbcb5 32626:00a7f7b1af9c
1311 @command('debugobsolete', 1311 @command('debugobsolete',
1312 [('', 'flags', 0, _('markers flag')), 1312 [('', 'flags', 0, _('markers flag')),
1313 ('', 'record-parents', False, 1313 ('', 'record-parents', False,
1314 _('record parent information for the precursor')), 1314 _('record parent information for the precursor')),
1315 ('r', 'rev', [], _('display markers relevant to REV')), 1315 ('r', 'rev', [], _('display markers relevant to REV')),
1316 ('', 'exclusive', False, _('restrict display to markers only '
1317 'relevant to REV')),
1316 ('', 'index', False, _('display index of the marker')), 1318 ('', 'index', False, _('display index of the marker')),
1317 ('', 'delete', [], _('delete markers specified by indices')), 1319 ('', 'delete', [], _('delete markers specified by indices')),
1318 ] + cmdutil.commitopts2 + cmdutil.formatteropts, 1320 ] + cmdutil.commitopts2 + cmdutil.formatteropts,
1319 _('[OBSOLETED [REPLACEMENT ...]]')) 1321 _('[OBSOLETED [REPLACEMENT ...]]'))
1320 def debugobsolete(ui, repo, precursor=None, *successors, **opts): 1322 def debugobsolete(ui, repo, precursor=None, *successors, **opts):
1389 l.release() 1391 l.release()
1390 else: 1392 else:
1391 if opts['rev']: 1393 if opts['rev']:
1392 revs = scmutil.revrange(repo, opts['rev']) 1394 revs = scmutil.revrange(repo, opts['rev'])
1393 nodes = [repo[r].node() for r in revs] 1395 nodes = [repo[r].node() for r in revs]
1394 markers = list(obsolete.getmarkers(repo, nodes=nodes)) 1396 markers = list(obsolete.getmarkers(repo, nodes=nodes,
1397 exclusive=opts['exclusive']))
1395 markers.sort(key=lambda x: x._data) 1398 markers.sort(key=lambda x: x._data)
1396 else: 1399 else:
1397 markers = obsolete.getmarkers(repo) 1400 markers = obsolete.getmarkers(repo)
1398 1401
1399 markerstoiter = markers 1402 markerstoiter = markers