##// END OF EJS Templates
localrepo: simplify file bundling code and fix progress bug...
Sune Foldager -
r14522:5ca61ef6 default
parent child Browse files
Show More
@@ -1570,17 +1570,14 b' class localrepository(repo.repository):'
1570 1570 raise util.Abort(_("empty or missing revlog for %s") % fname)
1571 1571 fstate[0] = fname
1572 1572 fstate[1] = fnodes.pop(fname, {})
1573 first = True
1574 1573
1575 for chunk in filerevlog.group(prune(filerevlog, fstate[1]),
1576 bundler, reorder=reorder):
1577 if first:
1578 if chunk == bundler.close():
1579 break
1580 count[0] += 1
1581 yield bundler.fileheader(fname)
1582 first = False
1583 yield chunk
1574 nodelist = prune(filerevlog, fstate[1])
1575 if nodelist:
1576 count[0] += 1
1577 yield bundler.fileheader(fname)
1578 for chunk in filerevlog.group(nodelist, bundler, reorder):
1579 yield chunk
1580
1584 1581 # Signal that no more groups are left.
1585 1582 yield bundler.close()
1586 1583 self.ui.progress(_('bundling'), None)
@@ -1665,16 +1662,12 b' class localrepository(repo.repository):'
1665 1662 if not len(filerevlog):
1666 1663 raise util.Abort(_("empty or missing revlog for %s") % fname)
1667 1664 fstate[0] = fname
1668 first = True
1669 for chunk in filerevlog.group(gennodelst(filerevlog), bundler,
1670 reorder=reorder):
1671 if first:
1672 if chunk == bundler.close():
1673 break
1674 count[0] += 1
1675 yield bundler.fileheader(fname)
1676 first = False
1677 yield chunk
1665 nodelist = gennodelst(filerevlog)
1666 if nodelist:
1667 count[0] += 1
1668 yield bundler.fileheader(fname)
1669 for chunk in filerevlog.group(nodelist, bundler, reorder):
1670 yield chunk
1678 1671 yield bundler.close()
1679 1672 self.ui.progress(_('bundling'), None)
1680 1673
@@ -97,9 +97,9 b' Extension disabled for lack of a hook'
97 97 bundling: 1/3 manifests (33.33%)
98 98 bundling: 2/3 manifests (66.67%)
99 99 bundling: 3/3 manifests (100.00%)
100 bundling: foo/Bar/file.txt 0/3 files (0.00%)
101 bundling: foo/file.txt 1/3 files (33.33%)
102 bundling: quux/file.py 2/3 files (66.67%)
100 bundling: foo/Bar/file.txt 1/3 files (33.33%)
101 bundling: foo/file.txt 2/3 files (66.67%)
102 bundling: quux/file.py 3/3 files (100.00%)
103 103 changesets: 1 chunks
104 104 add changeset ef1ea85a6374
105 105 changesets: 2 chunks
@@ -153,9 +153,9 b' Extension disabled for lack of acl.sourc'
153 153 bundling: 1/3 manifests (33.33%)
154 154 bundling: 2/3 manifests (66.67%)
155 155 bundling: 3/3 manifests (100.00%)
156 bundling: foo/Bar/file.txt 0/3 files (0.00%)
157 bundling: foo/file.txt 1/3 files (33.33%)
158 bundling: quux/file.py 2/3 files (66.67%)
156 bundling: foo/Bar/file.txt 1/3 files (33.33%)
157 bundling: foo/file.txt 2/3 files (66.67%)
158 bundling: quux/file.py 3/3 files (100.00%)
159 159 changesets: 1 chunks
160 160 add changeset ef1ea85a6374
161 161 changesets: 2 chunks
@@ -212,9 +212,9 b' No [acl.allow]/[acl.deny]'
212 212 bundling: 1/3 manifests (33.33%)
213 213 bundling: 2/3 manifests (66.67%)
214 214 bundling: 3/3 manifests (100.00%)
215 bundling: foo/Bar/file.txt 0/3 files (0.00%)
216 bundling: foo/file.txt 1/3 files (33.33%)
217 bundling: quux/file.py 2/3 files (66.67%)
215 bundling: foo/Bar/file.txt 1/3 files (33.33%)
216 bundling: foo/file.txt 2/3 files (66.67%)
217 bundling: quux/file.py 3/3 files (100.00%)
218 218 changesets: 1 chunks
219 219 add changeset ef1ea85a6374
220 220 changesets: 2 chunks
@@ -280,9 +280,9 b' Empty [acl.allow]'
280 280 bundling: 1/3 manifests (33.33%)
281 281 bundling: 2/3 manifests (66.67%)
282 282 bundling: 3/3 manifests (100.00%)
283 bundling: foo/Bar/file.txt 0/3 files (0.00%)
284 bundling: foo/file.txt 1/3 files (33.33%)
285 bundling: quux/file.py 2/3 files (66.67%)
283 bundling: foo/Bar/file.txt 1/3 files (33.33%)
284 bundling: foo/file.txt 2/3 files (66.67%)
285 bundling: quux/file.py 3/3 files (100.00%)
286 286 changesets: 1 chunks
287 287 add changeset ef1ea85a6374
288 288 changesets: 2 chunks
@@ -345,9 +345,9 b' fred is allowed inside foo/'
345 345 bundling: 1/3 manifests (33.33%)
346 346 bundling: 2/3 manifests (66.67%)
347 347 bundling: 3/3 manifests (100.00%)
348 bundling: foo/Bar/file.txt 0/3 files (0.00%)
349 bundling: foo/file.txt 1/3 files (33.33%)
350 bundling: quux/file.py 2/3 files (66.67%)
348 bundling: foo/Bar/file.txt 1/3 files (33.33%)
349 bundling: foo/file.txt 2/3 files (66.67%)
350 bundling: quux/file.py 3/3 files (100.00%)
351 351 changesets: 1 chunks
352 352 add changeset ef1ea85a6374
353 353 changesets: 2 chunks
@@ -415,9 +415,9 b' Empty [acl.deny]'
415 415 bundling: 1/3 manifests (33.33%)
416 416 bundling: 2/3 manifests (66.67%)
417 417 bundling: 3/3 manifests (100.00%)
418 bundling: foo/Bar/file.txt 0/3 files (0.00%)
419 bundling: foo/file.txt 1/3 files (33.33%)
420 bundling: quux/file.py 2/3 files (66.67%)
418 bundling: foo/Bar/file.txt 1/3 files (33.33%)
419 bundling: foo/file.txt 2/3 files (66.67%)
420 bundling: quux/file.py 3/3 files (100.00%)
421 421 changesets: 1 chunks
422 422 add changeset ef1ea85a6374
423 423 changesets: 2 chunks
@@ -482,9 +482,9 b' fred is allowed inside foo/, but not foo'
482 482 bundling: 1/3 manifests (33.33%)
483 483 bundling: 2/3 manifests (66.67%)
484 484 bundling: 3/3 manifests (100.00%)
485 bundling: foo/Bar/file.txt 0/3 files (0.00%)
486 bundling: foo/file.txt 1/3 files (33.33%)
487 bundling: quux/file.py 2/3 files (66.67%)
485 bundling: foo/Bar/file.txt 1/3 files (33.33%)
486 bundling: foo/file.txt 2/3 files (66.67%)
487 bundling: quux/file.py 3/3 files (100.00%)
488 488 changesets: 1 chunks
489 489 add changeset ef1ea85a6374
490 490 changesets: 2 chunks
@@ -554,9 +554,9 b' fred is allowed inside foo/, but not foo'
554 554 bundling: 1/3 manifests (33.33%)
555 555 bundling: 2/3 manifests (66.67%)
556 556 bundling: 3/3 manifests (100.00%)
557 bundling: foo/Bar/file.txt 0/3 files (0.00%)
558 bundling: foo/file.txt 1/3 files (33.33%)
559 bundling: quux/file.py 2/3 files (66.67%)
557 bundling: foo/Bar/file.txt 1/3 files (33.33%)
558 bundling: foo/file.txt 2/3 files (66.67%)
559 bundling: quux/file.py 3/3 files (100.00%)
560 560 changesets: 1 chunks
561 561 add changeset ef1ea85a6374
562 562 changesets: 2 chunks
@@ -623,9 +623,9 b' fred is allowed inside foo/, but not foo'
623 623 bundling: 1/3 manifests (33.33%)
624 624 bundling: 2/3 manifests (66.67%)
625 625 bundling: 3/3 manifests (100.00%)
626 bundling: foo/Bar/file.txt 0/3 files (0.00%)
627 bundling: foo/file.txt 1/3 files (33.33%)
628 bundling: quux/file.py 2/3 files (66.67%)
626 bundling: foo/Bar/file.txt 1/3 files (33.33%)
627 bundling: foo/file.txt 2/3 files (66.67%)
628 bundling: quux/file.py 3/3 files (100.00%)
629 629 changesets: 1 chunks
630 630 add changeset ef1ea85a6374
631 631 changesets: 2 chunks
@@ -694,9 +694,9 b' barney is allowed everywhere'
694 694 bundling: 1/3 manifests (33.33%)
695 695 bundling: 2/3 manifests (66.67%)
696 696 bundling: 3/3 manifests (100.00%)
697 bundling: foo/Bar/file.txt 0/3 files (0.00%)
698 bundling: foo/file.txt 1/3 files (33.33%)
699 bundling: quux/file.py 2/3 files (66.67%)
697 bundling: foo/Bar/file.txt 1/3 files (33.33%)
698 bundling: foo/file.txt 2/3 files (66.67%)
699 bundling: quux/file.py 3/3 files (100.00%)
700 700 changesets: 1 chunks
701 701 add changeset ef1ea85a6374
702 702 changesets: 2 chunks
@@ -769,9 +769,9 b' wilma can change files with a .txt exten'
769 769 bundling: 1/3 manifests (33.33%)
770 770 bundling: 2/3 manifests (66.67%)
771 771 bundling: 3/3 manifests (100.00%)
772 bundling: foo/Bar/file.txt 0/3 files (0.00%)
773 bundling: foo/file.txt 1/3 files (33.33%)
774 bundling: quux/file.py 2/3 files (66.67%)
772 bundling: foo/Bar/file.txt 1/3 files (33.33%)
773 bundling: foo/file.txt 2/3 files (66.67%)
774 bundling: quux/file.py 3/3 files (100.00%)
775 775 changesets: 1 chunks
776 776 add changeset ef1ea85a6374
777 777 changesets: 2 chunks
@@ -847,9 +847,9 b' file specified by acl.config does not ex'
847 847 bundling: 1/3 manifests (33.33%)
848 848 bundling: 2/3 manifests (66.67%)
849 849 bundling: 3/3 manifests (100.00%)
850 bundling: foo/Bar/file.txt 0/3 files (0.00%)
851 bundling: foo/file.txt 1/3 files (33.33%)
852 bundling: quux/file.py 2/3 files (66.67%)
850 bundling: foo/Bar/file.txt 1/3 files (33.33%)
851 bundling: foo/file.txt 2/3 files (66.67%)
852 bundling: quux/file.py 3/3 files (100.00%)
853 853 changesets: 1 chunks
854 854 add changeset ef1ea85a6374
855 855 changesets: 2 chunks
@@ -919,9 +919,9 b' betty is allowed inside foo/ by a acl.co'
919 919 bundling: 1/3 manifests (33.33%)
920 920 bundling: 2/3 manifests (66.67%)
921 921 bundling: 3/3 manifests (100.00%)
922 bundling: foo/Bar/file.txt 0/3 files (0.00%)
923 bundling: foo/file.txt 1/3 files (33.33%)
924 bundling: quux/file.py 2/3 files (66.67%)
922 bundling: foo/Bar/file.txt 1/3 files (33.33%)
923 bundling: foo/file.txt 2/3 files (66.67%)
924 bundling: quux/file.py 3/3 files (100.00%)
925 925 changesets: 1 chunks
926 926 add changeset ef1ea85a6374
927 927 changesets: 2 chunks
@@ -1003,9 +1003,9 b' acl.config can set only [acl.allow]/[acl'
1003 1003 bundling: 1/3 manifests (33.33%)
1004 1004 bundling: 2/3 manifests (66.67%)
1005 1005 bundling: 3/3 manifests (100.00%)
1006 bundling: foo/Bar/file.txt 0/3 files (0.00%)
1007 bundling: foo/file.txt 1/3 files (33.33%)
1008 bundling: quux/file.py 2/3 files (66.67%)
1006 bundling: foo/Bar/file.txt 1/3 files (33.33%)
1007 bundling: foo/file.txt 2/3 files (66.67%)
1008 bundling: quux/file.py 3/3 files (100.00%)
1009 1009 changesets: 1 chunks
1010 1010 add changeset ef1ea85a6374
1011 1011 changesets: 2 chunks
@@ -1079,9 +1079,9 b' fred is always allowed'
1079 1079 bundling: 1/3 manifests (33.33%)
1080 1080 bundling: 2/3 manifests (66.67%)
1081 1081 bundling: 3/3 manifests (100.00%)
1082 bundling: foo/Bar/file.txt 0/3 files (0.00%)
1083 bundling: foo/file.txt 1/3 files (33.33%)
1084 bundling: quux/file.py 2/3 files (66.67%)
1082 bundling: foo/Bar/file.txt 1/3 files (33.33%)
1083 bundling: foo/file.txt 2/3 files (66.67%)
1084 bundling: quux/file.py 3/3 files (100.00%)
1085 1085 changesets: 1 chunks
1086 1086 add changeset ef1ea85a6374
1087 1087 changesets: 2 chunks
@@ -1151,9 +1151,9 b' no one is allowed inside foo/Bar/'
1151 1151 bundling: 1/3 manifests (33.33%)
1152 1152 bundling: 2/3 manifests (66.67%)
1153 1153 bundling: 3/3 manifests (100.00%)
1154 bundling: foo/Bar/file.txt 0/3 files (0.00%)
1155 bundling: foo/file.txt 1/3 files (33.33%)
1156 bundling: quux/file.py 2/3 files (66.67%)
1154 bundling: foo/Bar/file.txt 1/3 files (33.33%)
1155 bundling: foo/file.txt 2/3 files (66.67%)
1156 bundling: quux/file.py 3/3 files (100.00%)
1157 1157 changesets: 1 chunks
1158 1158 add changeset ef1ea85a6374
1159 1159 changesets: 2 chunks
@@ -1225,9 +1225,9 b' OS-level groups'
1225 1225 bundling: 1/3 manifests (33.33%)
1226 1226 bundling: 2/3 manifests (66.67%)
1227 1227 bundling: 3/3 manifests (100.00%)
1228 bundling: foo/Bar/file.txt 0/3 files (0.00%)
1229 bundling: foo/file.txt 1/3 files (33.33%)
1230 bundling: quux/file.py 2/3 files (66.67%)
1228 bundling: foo/Bar/file.txt 1/3 files (33.33%)
1229 bundling: foo/file.txt 2/3 files (66.67%)
1230 bundling: quux/file.py 3/3 files (100.00%)
1231 1231 changesets: 1 chunks
1232 1232 add changeset ef1ea85a6374
1233 1233 changesets: 2 chunks
@@ -1298,9 +1298,9 b' OS-level groups'
1298 1298 bundling: 1/3 manifests (33.33%)
1299 1299 bundling: 2/3 manifests (66.67%)
1300 1300 bundling: 3/3 manifests (100.00%)
1301 bundling: foo/Bar/file.txt 0/3 files (0.00%)
1302 bundling: foo/file.txt 1/3 files (33.33%)
1303 bundling: quux/file.py 2/3 files (66.67%)
1301 bundling: foo/Bar/file.txt 1/3 files (33.33%)
1302 bundling: foo/file.txt 2/3 files (66.67%)
1303 bundling: quux/file.py 3/3 files (100.00%)
1304 1304 changesets: 1 chunks
1305 1305 add changeset ef1ea85a6374
1306 1306 changesets: 2 chunks
@@ -1413,10 +1413,10 b' No branch acls specified'
1413 1413 bundling: 2/4 manifests (50.00%)
1414 1414 bundling: 3/4 manifests (75.00%)
1415 1415 bundling: 4/4 manifests (100.00%)
1416 bundling: abc.txt 0/4 files (0.00%)
1417 bundling: foo/Bar/file.txt 1/4 files (25.00%)
1418 bundling: foo/file.txt 2/4 files (50.00%)
1419 bundling: quux/file.py 3/4 files (75.00%)
1416 bundling: abc.txt 1/4 files (25.00%)
1417 bundling: foo/Bar/file.txt 2/4 files (50.00%)
1418 bundling: foo/file.txt 3/4 files (75.00%)
1419 bundling: quux/file.py 4/4 files (100.00%)
1420 1420 changesets: 1 chunks
1421 1421 add changeset ef1ea85a6374
1422 1422 changesets: 2 chunks
@@ -1493,10 +1493,10 b' Branch acl deny test'
1493 1493 bundling: 2/4 manifests (50.00%)
1494 1494 bundling: 3/4 manifests (75.00%)
1495 1495 bundling: 4/4 manifests (100.00%)
1496 bundling: abc.txt 0/4 files (0.00%)
1497 bundling: foo/Bar/file.txt 1/4 files (25.00%)
1498 bundling: foo/file.txt 2/4 files (50.00%)
1499 bundling: quux/file.py 3/4 files (75.00%)
1496 bundling: abc.txt 1/4 files (25.00%)
1497 bundling: foo/Bar/file.txt 2/4 files (50.00%)
1498 bundling: foo/file.txt 3/4 files (75.00%)
1499 bundling: quux/file.py 4/4 files (100.00%)
1500 1500 changesets: 1 chunks
1501 1501 add changeset ef1ea85a6374
1502 1502 changesets: 2 chunks
@@ -1570,10 +1570,10 b' Branch acl empty allow test'
1570 1570 bundling: 2/4 manifests (50.00%)
1571 1571 bundling: 3/4 manifests (75.00%)
1572 1572 bundling: 4/4 manifests (100.00%)
1573 bundling: abc.txt 0/4 files (0.00%)
1574 bundling: foo/Bar/file.txt 1/4 files (25.00%)
1575 bundling: foo/file.txt 2/4 files (50.00%)
1576 bundling: quux/file.py 3/4 files (75.00%)
1573 bundling: abc.txt 1/4 files (25.00%)
1574 bundling: foo/Bar/file.txt 2/4 files (50.00%)
1575 bundling: foo/file.txt 3/4 files (75.00%)
1576 bundling: quux/file.py 4/4 files (100.00%)
1577 1577 changesets: 1 chunks
1578 1578 add changeset ef1ea85a6374
1579 1579 changesets: 2 chunks
@@ -1643,10 +1643,10 b' Branch acl allow other'
1643 1643 bundling: 2/4 manifests (50.00%)
1644 1644 bundling: 3/4 manifests (75.00%)
1645 1645 bundling: 4/4 manifests (100.00%)
1646 bundling: abc.txt 0/4 files (0.00%)
1647 bundling: foo/Bar/file.txt 1/4 files (25.00%)
1648 bundling: foo/file.txt 2/4 files (50.00%)
1649 bundling: quux/file.py 3/4 files (75.00%)
1646 bundling: abc.txt 1/4 files (25.00%)
1647 bundling: foo/Bar/file.txt 2/4 files (50.00%)
1648 bundling: foo/file.txt 3/4 files (75.00%)
1649 bundling: quux/file.py 4/4 files (100.00%)
1650 1650 changesets: 1 chunks
1651 1651 add changeset ef1ea85a6374
1652 1652 changesets: 2 chunks
@@ -1710,10 +1710,10 b' Branch acl allow other'
1710 1710 bundling: 2/4 manifests (50.00%)
1711 1711 bundling: 3/4 manifests (75.00%)
1712 1712 bundling: 4/4 manifests (100.00%)
1713 bundling: abc.txt 0/4 files (0.00%)
1714 bundling: foo/Bar/file.txt 1/4 files (25.00%)
1715 bundling: foo/file.txt 2/4 files (50.00%)
1716 bundling: quux/file.py 3/4 files (75.00%)
1713 bundling: abc.txt 1/4 files (25.00%)
1714 bundling: foo/Bar/file.txt 2/4 files (50.00%)
1715 bundling: foo/file.txt 3/4 files (75.00%)
1716 bundling: quux/file.py 4/4 files (100.00%)
1717 1717 changesets: 1 chunks
1718 1718 add changeset ef1ea85a6374
1719 1719 changesets: 2 chunks
@@ -1795,10 +1795,10 b' push foobar into the remote'
1795 1795 bundling: 2/4 manifests (50.00%)
1796 1796 bundling: 3/4 manifests (75.00%)
1797 1797 bundling: 4/4 manifests (100.00%)
1798 bundling: abc.txt 0/4 files (0.00%)
1799 bundling: foo/Bar/file.txt 1/4 files (25.00%)
1800 bundling: foo/file.txt 2/4 files (50.00%)
1801 bundling: quux/file.py 3/4 files (75.00%)
1798 bundling: abc.txt 1/4 files (25.00%)
1799 bundling: foo/Bar/file.txt 2/4 files (50.00%)
1800 bundling: foo/file.txt 3/4 files (75.00%)
1801 bundling: quux/file.py 4/4 files (100.00%)
1802 1802 changesets: 1 chunks
1803 1803 add changeset ef1ea85a6374
1804 1804 changesets: 2 chunks
@@ -1879,10 +1879,10 b' Branch acl conflicting deny'
1879 1879 bundling: 2/4 manifests (50.00%)
1880 1880 bundling: 3/4 manifests (75.00%)
1881 1881 bundling: 4/4 manifests (100.00%)
1882 bundling: abc.txt 0/4 files (0.00%)
1883 bundling: foo/Bar/file.txt 1/4 files (25.00%)
1884 bundling: foo/file.txt 2/4 files (50.00%)
1885 bundling: quux/file.py 3/4 files (75.00%)
1882 bundling: abc.txt 1/4 files (25.00%)
1883 bundling: foo/Bar/file.txt 2/4 files (50.00%)
1884 bundling: foo/file.txt 3/4 files (75.00%)
1885 bundling: quux/file.py 4/4 files (100.00%)
1886 1886 changesets: 1 chunks
1887 1887 add changeset ef1ea85a6374
1888 1888 changesets: 2 chunks
@@ -572,6 +572,6 b' bundle single branch'
572 572 bundling: 2/2 changesets (100.00%)
573 573 bundling: 1/2 manifests (50.00%)
574 574 bundling: 2/2 manifests (100.00%)
575 bundling: b 0/2 files (0.00%)
576 bundling: b1 1/2 files (50.00%)
575 bundling: b 1/2 files (50.00%)
576 bundling: b1 2/2 files (100.00%)
577 577
General Comments 0
You need to be logged in to leave comments. Login now