comparison mercurial/scmutil.py @ 39480:89630d0b3e23

phase: report number of non-public changeset alongside the new range When interacting with non-publishing repository or bundle, it is useful to have some information about the phase of the changeset we just pulled. This changeset updates the "new changesets MIN:MAX" output to also includes phases information for non-public changesets. Displaying extra data about non-public changesets means the output for exchange with publishing repository (the default) is unaffected.
author Boris Feld <boris.feld@octobus.net>
date Thu, 30 Aug 2018 01:53:21 +0200
parents 570fca90d556
children 6192980553b4
comparison
equal deleted inserted replaced
39479:3ba87d5b9ad3 39480:89630d0b3e23
1632 1632
1633 if minrev == maxrev: 1633 if minrev == maxrev:
1634 revrange = minrev 1634 revrange = minrev
1635 else: 1635 else:
1636 revrange = '%s:%s' % (minrev, maxrev) 1636 revrange = '%s:%s' % (minrev, maxrev)
1637 repo.ui.status(_('new changesets %s\n') % revrange) 1637 draft = len(repo.revs('%ld and draft()', revs))
1638 secret = len(repo.revs('%ld and secret()', revs))
1639 if not (draft or secret):
1640 msg = _('new changesets %s\n') % revrange
1641 elif draft and secret:
1642 msg = _('new changesets %s (%d drafts, %d secrets)\n')
1643 msg %= (revrange, draft, secret)
1644 elif draft:
1645 msg = _('new changesets %s (%d drafts)\n')
1646 msg %= (revrange, draft)
1647 elif secret:
1648 msg = _('new changesets %s (%d secrets)\n')
1649 msg %= (revrange, secret)
1650 else:
1651 raise error.ProgrammingError('entered unreachable condition')
1652 repo.ui.status(msg)
1638 1653
1639 @reportsummary 1654 @reportsummary
1640 def reportphasechanges(repo, tr): 1655 def reportphasechanges(repo, tr):
1641 """Report statistics of phase changes for changesets pre-existing 1656 """Report statistics of phase changes for changesets pre-existing
1642 pull/unbundle. 1657 pull/unbundle.