Show More
@@ -613,7 +613,8 class cg1packer(object): | |||
|
613 | 613 | clrevorder = {} |
|
614 | 614 | mfs = {} # needed manifests |
|
615 | 615 | fnodes = {} # needed file nodes |
|
616 | changedfiles = set() | |
|
616 | # maps manifest node id -> set(changed files) | |
|
617 | mfchangedfiles = {} | |
|
617 | 618 | |
|
618 | 619 | # Callback for the changelog, used to collect changed files and manifest |
|
619 | 620 | # nodes. |
@@ -621,9 +622,12 class cg1packer(object): | |||
|
621 | 622 | def lookupcl(x): |
|
622 | 623 | c = cl.read(x) |
|
623 | 624 | clrevorder[x] = len(clrevorder) |
|
624 | changedfiles.update(c[3]) | |
|
625 | n = c[0] | |
|
625 | 626 | # record the first changeset introducing this manifest version |
|
626 |
mfs.setdefault( |
|
|
627 | mfs.setdefault(n, x) | |
|
628 | # Record a complete list of potentially-changed files in | |
|
629 | # this manifest. | |
|
630 | mfchangedfiles.setdefault(n, set()).update(c[3]) | |
|
627 | 631 | return x |
|
628 | 632 | |
|
629 | 633 | self._verbosenote(_('uncompressed size of bundle content:\n')) |
@@ -668,8 +672,12 class cg1packer(object): | |||
|
668 | 672 | clnode = mfs[x] |
|
669 | 673 | if not fastpathlinkrev: |
|
670 | 674 | mdata = ml.readfast(x) |
|
671 |
for f |
|
|
672 |
if |
|
|
675 | for f in mfchangedfiles[x]: | |
|
676 | if True: | |
|
677 | try: | |
|
678 | n = mdata[f] | |
|
679 | except KeyError: | |
|
680 | continue | |
|
673 | 681 | # record the first changeset introducing this filelog |
|
674 | 682 | # version |
|
675 | 683 | fclnodes = fnodes.setdefault(f, {}) |
@@ -696,6 +704,9 class cg1packer(object): | |||
|
696 | 704 | return dict(genfilenodes()) |
|
697 | 705 | return fnodes.get(fname, {}) |
|
698 | 706 | |
|
707 | changedfiles = set() | |
|
708 | for x in mfchangedfiles.itervalues(): | |
|
709 | changedfiles.update(x) | |
|
699 | 710 | for chunk in self.generatefiles(changedfiles, linknodes, commonrevs, |
|
700 | 711 | source): |
|
701 | 712 | yield chunk |
General Comments 0
You need to be logged in to leave comments.
Login now