comparison hgext/convert/convcmd.py @ 11136:ecc8b18736da

convert: display files data retrieval progress
author Patrick Mezard <pmezard@gmail.com>
date Sun, 09 May 2010 22:50:42 +0200
parents 73a4ed3bfef8
children 87dcf758309d
comparison
equal deleted inserted replaced
11135:73a4ed3bfef8 11136:ecc8b18736da
69 if not type or name == type: 69 if not type or name == type:
70 return sink(ui, path) 70 return sink(ui, path)
71 except NoRepo, inst: 71 except NoRepo, inst:
72 ui.note(_("convert: %s\n") % inst) 72 ui.note(_("convert: %s\n") % inst)
73 raise util.Abort(_('%s: unknown repository type') % path) 73 raise util.Abort(_('%s: unknown repository type') % path)
74
75 class progresssource(object):
76 def __init__(self, ui, source, filecount):
77 self.ui = ui
78 self.source = source
79 self.filecount = filecount
80 self.retrieved = 0
81
82 def getfile(self, file, rev):
83 self.retrieved += 1
84 self.ui.progress(_('retrieving file'), self.retrieved,
85 item=file, total=self.filecount)
86 return self.source.getfile(file, rev)
87
88 def lookuprev(self, rev):
89 return self.source.lookuprev(rev)
90
91 def close(self):
92 self.ui.progress(_('retrieving file'), None)
74 93
75 class converter(object): 94 class converter(object):
76 def __init__(self, ui, source, dest, revmapfile, opts): 95 def __init__(self, ui, source, dest, revmapfile, opts):
77 96
78 self.source = source 97 self.source = source
302 self.ui.status(_('spliced in %s as parents of %s\n') % 321 self.ui.status(_('spliced in %s as parents of %s\n') %
303 (parents, rev)) 322 (parents, rev))
304 parents = [self.map.get(p, p) for p in parents] 323 parents = [self.map.get(p, p) for p in parents]
305 except KeyError: 324 except KeyError:
306 parents = [b[0] for b in pbranches] 325 parents = [b[0] for b in pbranches]
326 source = progresssource(self.ui, self.source, len(files))
307 newnode = self.dest.putcommit(files, copies, parents, commit, 327 newnode = self.dest.putcommit(files, copies, parents, commit,
308 self.source, self.map) 328 source, self.map)
329 source.close()
309 self.source.converted(rev, newnode) 330 self.source.converted(rev, newnode)
310 self.map[rev] = newnode 331 self.map[rev] = newnode
311 332
312 def convert(self, sortmode): 333 def convert(self, sortmode):
313 try: 334 try: