Show More
@@ -1439,11 +1439,46 b' class progress(object):' | |||
|
1439 | 1439 | self.update(self.pos + step, item, total) |
|
1440 | 1440 | |
|
1441 | 1441 | def complete(self): |
|
1442 |
self. |
|
|
1442 | self.pos = None | |
|
1443 | self.unit = "" | |
|
1444 | self.total = None | |
|
1445 | self._print("") | |
|
1443 | 1446 | |
|
1444 | 1447 | def _print(self, item): |
|
1445 | self.ui.progress(self.topic, self.pos, item, self.unit, | |
|
1446 | self.total) | |
|
1448 | if getattr(self.ui._fmsgerr, 'structured', False): | |
|
1449 | # channel for machine-readable output with metadata, just send | |
|
1450 | # raw information | |
|
1451 | # TODO: consider porting some useful information (e.g. estimated | |
|
1452 | # time) from progbar. we might want to support update delay to | |
|
1453 | # reduce the cost of transferring progress messages. | |
|
1454 | self.ui._fmsgerr.write(None, type=b'progress', topic=self.topic, | |
|
1455 | pos=self.pos, item=item, unit=self.unit, | |
|
1456 | total=self.total) | |
|
1457 | elif self.ui._progbar is not None: | |
|
1458 | self.ui._progbar.progress(self.topic, self.pos, item=item, | |
|
1459 | unit=self.unit, total=self.total) | |
|
1460 | ||
|
1461 | # Looking up progress.debug in tight loops is expensive. The value | |
|
1462 | # is cached on the progbar object and we can avoid the lookup in | |
|
1463 | # the common case where a progbar is active. | |
|
1464 | if self.pos is None or not self.ui._progbar.debug: | |
|
1465 | return | |
|
1466 | ||
|
1467 | # Keep this logic in sync with above. | |
|
1468 | if self.pos is None or not self.ui.configbool('progress', 'debug'): | |
|
1469 | return | |
|
1470 | ||
|
1471 | if self.unit: | |
|
1472 | unit = ' ' + self.unit | |
|
1473 | if item: | |
|
1474 | item = ' ' + item | |
|
1475 | ||
|
1476 | if self.total: | |
|
1477 | pct = 100.0 * self.pos / self.total | |
|
1478 | self.ui.debug('%s:%s %d/%d%s (%4.2f%%)\n' | |
|
1479 | % (self.topic, item, self.pos, self.total, unit, pct)) | |
|
1480 | else: | |
|
1481 | self.ui.debug('%s:%s %d%s\n' % (self.topic, item, self.pos, unit)) | |
|
1447 | 1482 | |
|
1448 | 1483 | def gdinitconfig(ui): |
|
1449 | 1484 | """helper function to know if a repo should be created as general delta |
@@ -1691,39 +1691,11 b' class ui(object):' | |||
|
1691 | 1691 | All topics should be marked closed by setting pos to None at |
|
1692 | 1692 | termination. |
|
1693 | 1693 | ''' |
|
1694 | if getattr(self._fmsgerr, 'structured', False): | |
|
1695 | # channel for machine-readable output with metadata, just send | |
|
1696 | # raw information | |
|
1697 | # TODO: consider porting some useful information (e.g. estimated | |
|
1698 | # time) from progbar. we might want to support update delay to | |
|
1699 | # reduce the cost of transferring progress messages. | |
|
1700 | self._fmsgerr.write(None, type=b'progress', topic=topic, pos=pos, | |
|
1701 | item=item, unit=unit, total=total) | |
|
1702 | elif self._progbar is not None: | |
|
1703 | self._progbar.progress(topic, pos, item=item, unit=unit, | |
|
1704 | total=total) | |
|
1705 | ||
|
1706 | # Looking up progress.debug in tight loops is expensive. The value | |
|
1707 | # is cached on the progbar object and we can avoid the lookup in | |
|
1708 | # the common case where a progbar is active. | |
|
1709 | if pos is None or not self._progbar.debug: | |
|
1710 | return | |
|
1711 | ||
|
1712 | # Keep this logic in sync with above. | |
|
1713 | if pos is None or not self.configbool('progress', 'debug'): | |
|
1714 | return | |
|
1715 | ||
|
1716 | if unit: | |
|
1717 | unit = ' ' + unit | |
|
1718 | if item: | |
|
1719 | item = ' ' + item | |
|
1720 | ||
|
1721 | if total: | |
|
1722 | pct = 100.0 * pos / total | |
|
1723 | self.debug('%s:%s %d/%d%s (%4.2f%%)\n' | |
|
1724 | % (topic, item, pos, total, unit, pct)) | |
|
1694 | progress = self.makeprogress(topic, unit, total) | |
|
1695 | if pos is not None: | |
|
1696 | progress.update(pos, item=item) | |
|
1725 | 1697 | else: |
|
1726 | self.debug('%s:%s %d%s\n' % (topic, item, pos, unit)) | |
|
1698 | progress.complete() | |
|
1727 | 1699 | |
|
1728 | 1700 | def makeprogress(self, topic, unit="", total=None): |
|
1729 | 1701 | '''exists only so low-level modules won't need to import scmutil''' |
General Comments 0
You need to be logged in to leave comments.
Login now