فهرست منبع

Merge "Always print percentage when syncing quietly"

David Pursehouse 8 سال پیش
والد
کامیت
8a6eeed7f5
2فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 4 2
      progress.py
  2. 2 1
      subcmds/sync.py

+ 4 - 2
progress.py

@@ -21,7 +21,8 @@ from trace import IsTrace
 _NOT_TTY = not os.isatty(2)
 
 class Progress(object):
-  def __init__(self, title, total=0, units='', print_newline=False):
+  def __init__(self, title, total=0, units='', print_newline=False,
+               always_print_percentage=False):
     self._title = title
     self._total = total
     self._done = 0
@@ -30,6 +31,7 @@ class Progress(object):
     self._show = False
     self._units = units
     self._print_newline = print_newline
+    self._always_print_percentage = always_print_percentage
 
   def update(self, inc=1):
     self._done += inc
@@ -51,7 +53,7 @@ class Progress(object):
     else:
       p = (100 * self._done) / self._total
 
-      if self._lastp != p:
+      if self._lastp != p or self._always_print_percentage:
         self._lastp = p
         sys.stderr.write('\r%s: %3d%% (%d%s/%d%s)%s' % (
           self._title,

+ 2 - 1
subcmds/sync.py

@@ -357,7 +357,8 @@ later is required to fix a server side protocol bug.
     fetched = set()
     lock = _threading.Lock()
     pm = Progress('Fetching projects', len(projects),
-                  print_newline=not(opt.quiet))
+                  print_newline=not(opt.quiet),
+                  always_print_percentage=opt.quiet)
 
     objdir_project_map = dict()
     for project in projects: