| Index: third_party/repo/progress.py | 
| diff --git a/third_party/repo/progress.py b/third_party/repo/progress.py | 
| index 860d9d01125237f06d72c72c5dce94b325209e68..3d302814c2c6b175c2966d5db82b6666539d9370 100644 | 
| --- a/third_party/repo/progress.py | 
| +++ b/third_party/repo/progress.py | 
| @@ -24,8 +24,9 @@ class Progress(object): | 
| self._lastp = -1 | 
| self._start = time() | 
| self._show = False | 
| +    self._width = 0 | 
|  | 
| -  def update(self, inc=1): | 
| +  def update(self, inc=1, extra=''): | 
| self._done += inc | 
|  | 
| if not self._show: | 
| @@ -34,35 +35,37 @@ class Progress(object): | 
| else: | 
| return | 
|  | 
| +    text = None | 
| + | 
| if self._total <= 0: | 
| -      sys.stdout.write('\r%s: %d, ' % ( | 
| -        self._title, | 
| -        self._done)) | 
| -      sys.stdout.flush() | 
| +      text = '%s: %3d' % (self._title, self._done) | 
| else: | 
| p = (100 * self._done) / self._total | 
|  | 
| if self._lastp != p: | 
| self._lastp = p | 
| -        sys.stdout.write('\r%s: %3d%% (%d/%d)  ' % ( | 
| -          self._title, | 
| -          p, | 
| -          self._done, | 
| -          self._total)) | 
| -        sys.stdout.flush() | 
| +        text = '%s: %3d%% (%2d/%2d)' % (self._title, p, | 
| +                                        self._done, self._total) | 
| + | 
| +    if text: | 
| +      text += ' ' + extra | 
| +      spaces = max(self._width - len(text), 0) | 
| +      sys.stdout.write('%s%*s\r' % (text, spaces, '')) | 
| +      sys.stdout.flush() | 
| +      self._width = len(text) | 
|  | 
| def end(self): | 
| if not self._show: | 
| return | 
|  | 
| if self._total <= 0: | 
| -      sys.stdout.write('\r%s: %d, done.  \n' % ( | 
| +      sys.stdout.write('%s: %d, done.\n' % ( | 
| self._title, | 
| self._done)) | 
| sys.stdout.flush() | 
| else: | 
| p = (100 * self._done) / self._total | 
| -      sys.stdout.write('\r%s: %3d%% (%d/%d), done.  \n' % ( | 
| +      sys.stdout.write('%s: %3d%% (%d/%d), done.\n' % ( | 
| self._title, | 
| p, | 
| self._done, | 
|  |