Mercurial > public > mercurial-scm > hg-stable
diff mercurial/scmutil.py @ 39497: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 |
line wrap: on
line diff
--- a/mercurial/scmutil.py Fri Sep 07 23:54:42 2018 -0400 +++ b/mercurial/scmutil.py Thu Aug 30 01:53:21 2018 +0200 @@ -1634,7 +1634,22 @@ revrange = minrev else: revrange = '%s:%s' % (minrev, maxrev) - repo.ui.status(_('new changesets %s\n') % revrange) + draft = len(repo.revs('%ld and draft()', revs)) + secret = len(repo.revs('%ld and secret()', revs)) + if not (draft or secret): + msg = _('new changesets %s\n') % revrange + elif draft and secret: + msg = _('new changesets %s (%d drafts, %d secrets)\n') + msg %= (revrange, draft, secret) + elif draft: + msg = _('new changesets %s (%d drafts)\n') + msg %= (revrange, draft) + elif secret: + msg = _('new changesets %s (%d secrets)\n') + msg %= (revrange, secret) + else: + raise error.ProgrammingError('entered unreachable condition') + repo.ui.status(msg) @reportsummary def reportphasechanges(repo, tr):