Skip to content
Snippets Groups Projects
Commit 6308896b authored by Sune Foldager's avatar Sune Foldager
Browse files

bundle-ng: simplify bundle10.generate

Remove complex local sub-functions mutating function-global variables. Simplify
counting used for progress output.
parent 94a22595
No related branches found
No related tags found
No related merge requests found
......@@ -245,8 +245,6 @@
self._repo = repo
self._reorder = reorder
self.count = [0, 0]
def start(self, lookup):
self._lookup = lookup
def close(self):
return closechunk()
......@@ -340,5 +338,10 @@
unit=_files, total=count[1])
return fstate[1][x]
self.start(lookup)
self._lookup = lookup
count[:] = [0, len(clnodes)]
for chunk in self.group(clnodes, cl, reorder=reorder):
yield chunk
progress(_bundling, None)
......@@ -344,13 +347,20 @@
def getmfnodes():
for f in changedfiles:
fnodes[f] = {}
count[:] = [0, len(mfs)]
return prune(mf, mfs)
def getfiles():
mfs.clear()
return changedfiles
def getfilenodes(fname, filerevlog):
for f in changedfiles:
fnodes[f] = {}
count[:] = [0, len(mfs)]
mfnodes = prune(mf, mfs)
for chunk in self.group(mfnodes, mf, reorder=reorder):
yield chunk
progress(_bundling, None)
mfs.clear()
count[:] = [0, len(changedfiles)]
for fname in sorted(changedfiles):
filerevlog = repo.file(fname)
if not len(filerevlog):
raise util.Abort(_("empty or missing revlog for %s")
% fname)
if fastpathlinkrev:
ln, llr = filerevlog.node, filerevlog.linkrev
def genfilenodes():
......@@ -361,26 +371,7 @@
fnodes[fname] = dict(genfilenodes())
fstate[0] = fname
fstate[1] = fnodes.pop(fname, {})
return prune(filerevlog, fstate[1])
count[:] = [0, len(clnodes)]
for chunk in self.group(clnodes, cl, reorder=reorder):
yield chunk
progress(_bundling, None)
for chunk in self.group(getmfnodes(), mf, reorder=reorder):
yield chunk
progress(_bundling, None)
changedfiles = getfiles()
count[:] = [0, len(changedfiles)]
for fname in sorted(changedfiles):
filerevlog = repo.file(fname)
if not len(filerevlog):
raise util.Abort(_("empty or missing revlog for %s")
% fname)
nodelist = getfilenodes(fname, filerevlog)
if nodelist:
filenodes = prune(filerevlog, fstate[1])
if filenodes:
count[0] += 1
yield self.fileheader(fname)
......@@ -385,6 +376,6 @@
count[0] += 1
yield self.fileheader(fname)
for chunk in self.group(nodelist, filerevlog, reorder):
for chunk in self.group(filenodes, filerevlog, reorder):
yield chunk
yield self.close()
progress(_bundling, None)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment