Show More
@@ -3759,10 +3759,24 b' def perfrevlogchunks(ui, repo, file_=Non' | |||||
3759 | datafile = getattr(rl, 'datafile', getattr(rl, 'datafile')) |
|
3759 | datafile = getattr(rl, 'datafile', getattr(rl, 'datafile')) | |
3760 | yield getsvfs(repo)(datafile) |
|
3760 | yield getsvfs(repo)(datafile) | |
3761 |
|
3761 | |||
|
3762 | if getattr(rl, 'reading', None) is not None: | |||
|
3763 | ||||
|
3764 | @contextlib.contextmanager | |||
|
3765 | def lazy_reading(rl): | |||
|
3766 | with rl.reading(): | |||
|
3767 | yield | |||
|
3768 | ||||
|
3769 | else: | |||
|
3770 | ||||
|
3771 | @contextlib.contextmanager | |||
|
3772 | def lazy_reading(rl): | |||
|
3773 | yield | |||
|
3774 | ||||
3762 | def doread(): |
|
3775 | def doread(): | |
3763 | rl.clearcaches() |
|
3776 | rl.clearcaches() | |
3764 | for rev in revs: |
|
3777 | for rev in revs: | |
3765 | segmentforrevs(rev, rev) |
|
3778 | with lazy_reading(rl): | |
|
3779 | segmentforrevs(rev, rev) | |||
3766 |
|
3780 | |||
3767 | def doreadcachedfh(): |
|
3781 | def doreadcachedfh(): | |
3768 | rl.clearcaches() |
|
3782 | rl.clearcaches() | |
@@ -3776,7 +3790,8 b' def perfrevlogchunks(ui, repo, file_=Non' | |||||
3776 |
|
3790 | |||
3777 | def doreadbatch(): |
|
3791 | def doreadbatch(): | |
3778 | rl.clearcaches() |
|
3792 | rl.clearcaches() | |
3779 | segmentforrevs(revs[0], revs[-1]) |
|
3793 | with lazy_reading(rl): | |
|
3794 | segmentforrevs(revs[0], revs[-1]) | |||
3780 |
|
3795 | |||
3781 | def doreadbatchcachedfh(): |
|
3796 | def doreadbatchcachedfh(): | |
3782 | rl.clearcaches() |
|
3797 | rl.clearcaches() | |
@@ -3883,6 +3898,19 b' def perfrevlogrevision(ui, repo, file_, ' | |||||
3883 | node = r.lookup(rev) |
|
3898 | node = r.lookup(rev) | |
3884 | rev = r.rev(node) |
|
3899 | rev = r.rev(node) | |
3885 |
|
3900 | |||
|
3901 | if getattr(r, 'reading', None) is not None: | |||
|
3902 | ||||
|
3903 | @contextlib.contextmanager | |||
|
3904 | def lazy_reading(r): | |||
|
3905 | with r.reading(): | |||
|
3906 | yield | |||
|
3907 | ||||
|
3908 | else: | |||
|
3909 | ||||
|
3910 | @contextlib.contextmanager | |||
|
3911 | def lazy_reading(r): | |||
|
3912 | yield | |||
|
3913 | ||||
3886 | def getrawchunks(data, chain): |
|
3914 | def getrawchunks(data, chain): | |
3887 | start = r.start |
|
3915 | start = r.start | |
3888 | length = r.length |
|
3916 | length = r.length | |
@@ -3916,7 +3944,8 b' def perfrevlogrevision(ui, repo, file_, ' | |||||
3916 | if not cache: |
|
3944 | if not cache: | |
3917 | r.clearcaches() |
|
3945 | r.clearcaches() | |
3918 | for item in slicedchain: |
|
3946 | for item in slicedchain: | |
3919 | segmentforrevs(item[0], item[-1]) |
|
3947 | with lazy_reading(r): | |
|
3948 | segmentforrevs(item[0], item[-1]) | |||
3920 |
|
3949 | |||
3921 | def doslice(r, chain, size): |
|
3950 | def doslice(r, chain, size): | |
3922 | for s in slicechunk(r, chain, targetsize=size): |
|
3951 | for s in slicechunk(r, chain, targetsize=size): |
General Comments 0
You need to be logged in to leave comments.
Login now