--- a/hgext/largefiles/basestore.py Sat Aug 25 12:41:58 2018 -0400
+++ b/hgext/largefiles/basestore.py Sat Aug 25 13:09:24 2018 -0400
@@ -62,25 +62,24 @@
at = 0
available = self.exists(set(hash for (_filename, hash) in files))
- progress = ui.makeprogress(_('getting largefiles'), unit=_('files'),
- total=len(files))
- for filename, hash in files:
- progress.update(at)
- at += 1
- ui.note(_('getting %s:%s\n') % (filename, hash))
+ with ui.makeprogress(_('getting largefiles'), unit=_('files'),
+ total=len(files)) as progress:
+ for filename, hash in files:
+ progress.update(at)
+ at += 1
+ ui.note(_('getting %s:%s\n') % (filename, hash))
- if not available.get(hash):
- ui.warn(_('%s: largefile %s not available from %s\n')
- % (filename, hash, util.hidepassword(self.url)))
- missing.append(filename)
- continue
+ if not available.get(hash):
+ ui.warn(_('%s: largefile %s not available from %s\n')
+ % (filename, hash, util.hidepassword(self.url)))
+ missing.append(filename)
+ continue
- if self._gethash(filename, hash):
- success.append((filename, hash))
- else:
- missing.append(filename)
+ if self._gethash(filename, hash):
+ success.append((filename, hash))
+ else:
+ missing.append(filename)
- progress.complete()
return (success, missing)
def _gethash(self, filename, hash):
--- a/hgext/largefiles/lfcommands.py Sat Aug 25 12:41:58 2018 -0400
+++ b/hgext/largefiles/lfcommands.py Sat Aug 25 13:09:24 2018 -0400
@@ -118,14 +118,13 @@
matcher = None
lfiletohash = {}
- progress = ui.makeprogress(_('converting revisions'),
- unit=_('revisions'),
- total=rsrc['tip'].rev())
- for ctx in ctxs:
- progress.update(ctx.rev())
- _lfconvert_addchangeset(rsrc, rdst, ctx, revmap,
- lfiles, normalfiles, matcher, size, lfiletohash)
- progress.complete()
+ with ui.makeprogress(_('converting revisions'),
+ unit=_('revisions'),
+ total=rsrc['tip'].rev()) as progress:
+ for ctx in ctxs:
+ progress.update(ctx.rev())
+ _lfconvert_addchangeset(rsrc, rdst, ctx, revmap,
+ lfiles, normalfiles, matcher, size, lfiletohash)
if rdst.wvfs.exists(lfutil.shortname):
rdst.wvfs.rmtree(lfutil.shortname)
@@ -370,18 +369,17 @@
files = [h for h in files if not retval[h]]
ui.debug("%d largefiles need to be uploaded\n" % len(files))
- progress = ui.makeprogress(_('uploading largefiles'), unit=_('files'),
- total=len(files))
- for hash in files:
- progress.update(at)
- source = lfutil.findfile(rsrc, hash)
- if not source:
- raise error.Abort(_('largefile %s missing from store'
- ' (needs to be uploaded)') % hash)
- # XXX check for errors here
- store.put(source, hash)
- at += 1
- progress.complete()
+ with ui.makeprogress(_('uploading largefiles'), unit=_('files'),
+ total=len(files)) as progress:
+ for hash in files:
+ progress.update(at)
+ source = lfutil.findfile(rsrc, hash)
+ if not source:
+ raise error.Abort(_('largefile %s missing from store'
+ ' (needs to be uploaded)') % hash)
+ # XXX check for errors here
+ store.put(source, hash)
+ at += 1
def verifylfiles(ui, repo, all=False, contents=False):
'''Verify that every largefile revision in the current changeset
--- a/hgext/largefiles/lfutil.py Sat Aug 25 12:41:58 2018 -0400
+++ b/hgext/largefiles/lfutil.py Sat Aug 25 13:09:24 2018 -0400
@@ -501,37 +501,37 @@
return filelist
def getlfilestoupload(repo, missing, addfunc):
- progress = repo.ui.makeprogress(_('finding outgoing largefiles'),
- unit=_('revisions'), total=len(missing))
- for i, n in enumerate(missing):
- progress.update(i)
- parents = [p for p in repo[n].parents() if p != node.nullid]
+ makeprogress = repo.ui.makeprogress
+ with makeprogress(_('finding outgoing largefiles'),
+ unit=_('revisions'), total=len(missing)) as progress:
+ for i, n in enumerate(missing):
+ progress.update(i)
+ parents = [p for p in repo[n].parents() if p != node.nullid]
- oldlfstatus = repo.lfstatus
- repo.lfstatus = False
- try:
- ctx = repo[n]
- finally:
- repo.lfstatus = oldlfstatus
+ oldlfstatus = repo.lfstatus
+ repo.lfstatus = False
+ try:
+ ctx = repo[n]
+ finally:
+ repo.lfstatus = oldlfstatus
- files = set(ctx.files())
- if len(parents) == 2:
- mc = ctx.manifest()
- mp1 = ctx.parents()[0].manifest()
- mp2 = ctx.parents()[1].manifest()
- for f in mp1:
- if f not in mc:
- files.add(f)
- for f in mp2:
- if f not in mc:
- files.add(f)
- for f in mc:
- if mc[f] != mp1.get(f, None) or mc[f] != mp2.get(f, None):
- files.add(f)
- for fn in files:
- if isstandin(fn) and fn in ctx:
- addfunc(fn, readasstandin(ctx[fn]))
- progress.complete()
+ files = set(ctx.files())
+ if len(parents) == 2:
+ mc = ctx.manifest()
+ mp1 = ctx.parents()[0].manifest()
+ mp2 = ctx.parents()[1].manifest()
+ for f in mp1:
+ if f not in mc:
+ files.add(f)
+ for f in mp2:
+ if f not in mc:
+ files.add(f)
+ for f in mc:
+ if mc[f] != mp1.get(f, None) or mc[f] != mp2.get(f, None):
+ files.add(f)
+ for fn in files:
+ if isstandin(fn) and fn in ctx:
+ addfunc(fn, readasstandin(ctx[fn]))
def updatestandinsbymatch(repo, match):
'''Update standins in the working directory according to specified match