Mercurial > public > mercurial-scm > hg
comparison mercurial/scmutil.py @ 42897:d7304434390f
changegroup: move message about added changes to transaction summary
Before that, applying multiple changegroups in the same transaction issued the
message multiple time. This result in a confusing output:
adding changesets
adding manifests
adding file changes
added 32768 changesets with 60829 changes to 2668 files
adding changesets
adding manifests
adding file changes
added 8192 changesets with 16885 changes to 1553 files
adding changesets
adding manifests
adding file changes
added 1020 changesets with 1799 changes to 536 files
adding changesets
adding manifests
...
Instead, we now only issue the message once at the end of the transaction,
summing up all added changesets, changes and files. The line is identical, but
happens sightly later in the output.
There are other suboptimal behavior around issue multiple changegroup (eg:
progress bar). We'll cover them later.
This impact of lot of test as one would expect, but a two pass check show they
are just the order change we expected.
To deal with "under the hood" bundle application by internal code, we had to
take a slightly hacky move. We could clean that up with a more official way to
enter "under the hood" section, however I want to keep this series simple to get
it landed. This kind of change have a very high bit rot rate since it impact a
lot of test output.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 08 Sep 2019 09:42:53 +0200 |
parents | 38392d5bde8e |
children | 34ed651ba7e4 |
comparison
equal
deleted
inserted
replaced
42896:7e19b640c53e | 42897:d7304434390f |
---|---|
1760 newcat = '%02i-txnreport' % len(categories) | 1760 newcat = '%02i-txnreport' % len(categories) |
1761 otr.addpostclose(newcat, wrapped) | 1761 otr.addpostclose(newcat, wrapped) |
1762 categories.append(newcat) | 1762 categories.append(newcat) |
1763 return wrapped | 1763 return wrapped |
1764 | 1764 |
1765 | |
1766 @reportsummary | |
1767 def reportchangegroup(repo, tr): | |
1768 cgchangesets = tr.changes.get('changegroup-count-changesets', 0) | |
1769 cgrevisions = tr.changes.get('changegroup-count-revisions', 0) | |
1770 cgfiles = tr.changes.get('changegroup-count-files', 0) | |
1771 cgheads = tr.changes.get('changegroup-count-heads', 0) | |
1772 if cgchangesets or cgrevisions or cgfiles: | |
1773 htext = "" | |
1774 if cgheads: | |
1775 htext = _(" (%+d heads)") % cgheads | |
1776 msg = _("added %d changesets with %d changes to %d files%s\n") | |
1777 repo.ui.status(msg % (cgchangesets, cgrevisions, cgfiles, htext)) | |
1778 | |
1765 if txmatch(_reportobsoletedsource): | 1779 if txmatch(_reportobsoletedsource): |
1766 @reportsummary | 1780 @reportsummary |
1767 def reportobsoleted(repo, tr): | 1781 def reportobsoleted(repo, tr): |
1768 obsoleted = obsutil.getobsoleted(repo, tr) | 1782 obsoleted = obsutil.getobsoleted(repo, tr) |
1769 newmarkers = len(tr.changes.get('obsmarkers', ())) | 1783 newmarkers = len(tr.changes.get('obsmarkers', ())) |