##// END OF EJS Templates
lfs: use a context manager to control the progress bar lifetime
Matt Harbison -
r39426:b26350d9 default
parent child Browse files
Show More
@@ -405,8 +405,7 b' class _gitlfsremote(object):'
405 if len(objects) > 1:
405 if len(objects) > 1:
406 self.ui.note(_('lfs: need to transfer %d objects (%s)\n')
406 self.ui.note(_('lfs: need to transfer %d objects (%s)\n')
407 % (len(objects), util.bytecount(total)))
407 % (len(objects), util.bytecount(total)))
408 progress = self.ui.makeprogress(topic, total=total)
408
409 progress.update(0)
410 def transfer(chunk):
409 def transfer(chunk):
411 for obj in chunk:
410 for obj in chunk:
412 objsize = obj.get('size', 0)
411 objsize = obj.get('size', 0)
@@ -439,14 +438,15 b' class _gitlfsremote(object):'
439 else:
438 else:
440 oids = transfer(sorted(objects, key=lambda o: o.get('oid')))
439 oids = transfer(sorted(objects, key=lambda o: o.get('oid')))
441
440
442 processed = 0
441 with self.ui.makeprogress(topic, total=total) as progress:
443 blobs = 0
442 progress.update(0)
444 for _one, oid in oids:
443 processed = 0
445 processed += sizes[oid]
444 blobs = 0
446 blobs += 1
445 for _one, oid in oids:
447 progress.update(processed)
446 processed += sizes[oid]
448 self.ui.note(_('lfs: processed: %s\n') % oid)
447 blobs += 1
449 progress.complete()
448 progress.update(processed)
449 self.ui.note(_('lfs: processed: %s\n') % oid)
450
450
451 if blobs > 0:
451 if blobs > 0:
452 if action == 'upload':
452 if action == 'upload':
@@ -344,17 +344,14 b' def extractpointers(repo, revs):'
344 repo.ui.debug('lfs: computing set of blobs to upload\n')
344 repo.ui.debug('lfs: computing set of blobs to upload\n')
345 pointers = {}
345 pointers = {}
346
346
347 progress = repo.ui.makeprogress(_('lfs search'), _('changesets'), len(revs))
347 makeprogress = repo.ui.makeprogress
348
348 with makeprogress(_('lfs search'), _('changesets'), len(revs)) as progress:
349 try:
350 for r in revs:
349 for r in revs:
351 ctx = repo[r]
350 ctx = repo[r]
352 for p in pointersfromctx(ctx).values():
351 for p in pointersfromctx(ctx).values():
353 pointers[p.oid()] = p
352 pointers[p.oid()] = p
354 progress.increment()
353 progress.increment()
355 return sorted(pointers.values())
354 return sorted(pointers.values())
356 finally:
357 progress.complete()
358
355
359 def pointerfromctx(ctx, f, removed=False):
356 def pointerfromctx(ctx, f, removed=False):
360 """return a pointer for the named file from the given changectx, or None if
357 """return a pointer for the named file from the given changectx, or None if
General Comments 0
You need to be logged in to leave comments. Login now