Show More
@@ -354,14 +354,8 b' class bundle10(object):' | |||||
354 | progress(msgbundling, None) |
|
354 | progress(msgbundling, None) | |
355 |
|
355 | |||
356 | mfs.clear() |
|
356 | mfs.clear() | |
357 | total = len(changedfiles) |
|
|||
358 | # for progress output |
|
|||
359 | msgfiles = _('files') |
|
|||
360 | for i, fname in enumerate(sorted(changedfiles)): |
|
|||
361 | filerevlog = repo.file(fname) |
|
|||
362 | if not filerevlog: |
|
|||
363 | raise util.Abort(_("empty or missing revlog for %s") % fname) |
|
|||
364 |
|
357 | |||
|
358 | def linknodes(filerevlog, fname): | |||
365 | if fastpathlinkrev: |
|
359 | if fastpathlinkrev: | |
366 | ln, llr = filerevlog.node, filerevlog.linkrev |
|
360 | ln, llr = filerevlog.node, filerevlog.linkrev | |
367 | needed = set(cl.rev(x) for x in clnodes) |
|
361 | needed = set(cl.rev(x) for x in clnodes) | |
@@ -371,8 +365,33 b' class bundle10(object):' | |||||
371 | if linkrev in needed: |
|
365 | if linkrev in needed: | |
372 | yield filerevlog.node(r), cl.node(linkrev) |
|
366 | yield filerevlog.node(r), cl.node(linkrev) | |
373 | fnodes[fname] = dict(genfilenodes()) |
|
367 | fnodes[fname] = dict(genfilenodes()) | |
|
368 | return fnodes.get(fname, {}) | |||
374 |
|
369 | |||
375 | linkrevnodes = fnodes.pop(fname, {}) |
|
370 | for chunk in self.generatefiles(changedfiles, linknodes, commonrevs, | |
|
371 | source): | |||
|
372 | yield chunk | |||
|
373 | ||||
|
374 | yield self.close() | |||
|
375 | progress(msgbundling, None) | |||
|
376 | ||||
|
377 | if clnodes: | |||
|
378 | repo.hook('outgoing', node=hex(clnodes[0]), source=source) | |||
|
379 | ||||
|
380 | def generatefiles(self, changedfiles, linknodes, commonrevs, source): | |||
|
381 | repo = self._repo | |||
|
382 | progress = self._progress | |||
|
383 | reorder = self._reorder | |||
|
384 | msgbundling = _('bundling') | |||
|
385 | ||||
|
386 | total = len(changedfiles) | |||
|
387 | # for progress output | |||
|
388 | msgfiles = _('files') | |||
|
389 | for i, fname in enumerate(sorted(changedfiles)): | |||
|
390 | filerevlog = repo.file(fname) | |||
|
391 | if not filerevlog: | |||
|
392 | raise util.Abort(_("empty or missing revlog for %s") % fname) | |||
|
393 | ||||
|
394 | linkrevnodes = linknodes(filerevlog, fname) | |||
376 | # Lookup for filenodes, we collected the linkrev nodes above in the |
|
395 | # Lookup for filenodes, we collected the linkrev nodes above in the | |
377 | # fastpath case and with lookupmf in the slowpath case. |
|
396 | # fastpath case and with lookupmf in the slowpath case. | |
378 | def lookupfilelog(x): |
|
397 | def lookupfilelog(x): | |
@@ -386,11 +405,6 b' class bundle10(object):' | |||||
386 | for chunk in self.group(filenodes, filerevlog, lookupfilelog, |
|
405 | for chunk in self.group(filenodes, filerevlog, lookupfilelog, | |
387 | reorder=reorder): |
|
406 | reorder=reorder): | |
388 | yield chunk |
|
407 | yield chunk | |
389 | yield self.close() |
|
|||
390 | progress(msgbundling, None) |
|
|||
391 |
|
||||
392 | if clnodes: |
|
|||
393 | repo.hook('outgoing', node=hex(clnodes[0]), source=source) |
|
|||
394 |
|
408 | |||
395 | def revchunk(self, revlog, rev, prev, linknode): |
|
409 | def revchunk(self, revlog, rev, prev, linknode): | |
396 | node = revlog.node(rev) |
|
410 | node = revlog.node(rev) |
General Comments 0
You need to be logged in to leave comments.
Login now