Show More
@@ -144,6 +144,21 b' class storecache(_basefilecache):' | |||
|
144 | 144 | return obj.sjoin(fname) |
|
145 | 145 | |
|
146 | 146 | |
|
147 | class changelogcache(storecache): | |
|
148 | """filecache for the changelog""" | |
|
149 | ||
|
150 | def __init__(self): | |
|
151 | super(changelogcache, self).__init__() | |
|
152 | _cachedfiles.add((b'00changelog.i', b'')) | |
|
153 | _cachedfiles.add((b'00changelog.n', b'')) | |
|
154 | ||
|
155 | def tracked_paths(self, obj): | |
|
156 | paths = [self.join(obj, b'00changelog.i')] | |
|
157 | if obj.store.opener.options.get(b'persistent-nodemap', False): | |
|
158 | paths.append(self.join(obj, b'00changelog.n')) | |
|
159 | return paths | |
|
160 | ||
|
161 | ||
|
147 | 162 | class mixedrepostorecache(_basefilecache): |
|
148 | 163 | """filecache for a mix files in .hg/store and outside""" |
|
149 | 164 | |
@@ -1673,13 +1688,13 b' class localrepository(object):' | |||
|
1673 | 1688 | def obsstore(self): |
|
1674 | 1689 | return obsolete.makestore(self.ui, self) |
|
1675 | 1690 | |
|
1676 | @storecache(b'00changelog.i') | |
|
1677 |
def changelog( |
|
|
1691 | @changelogcache() | |
|
1692 | def changelog(repo): | |
|
1678 | 1693 | # load dirstate before changelog to avoid race see issue6303 |
|
1679 |
|
|
|
1680 |
return |
|
|
1681 |
txnutil.mayhavepending( |
|
|
1682 |
concurrencychecker=revlogchecker.get_checker( |
|
|
1694 | repo.dirstate.prefetch_parents() | |
|
1695 | return repo.store.changelog( | |
|
1696 | txnutil.mayhavepending(repo.root), | |
|
1697 | concurrencychecker=revlogchecker.get_checker(repo.ui, b'changelog'), | |
|
1683 | 1698 | ) |
|
1684 | 1699 | |
|
1685 | 1700 | @storecache(b'00manifest.i') |
@@ -748,19 +748,19 b' read/write patterns.' | |||
|
748 | 748 | docket-details: |
|
749 | 749 | uid: 43c37dde |
|
750 | 750 | actual-tip: 5006 |
|
751 |
tip-rev: 500 |
|
|
752 |
data-length: 121 |
|
|
751 | tip-rev: 5006 | |
|
752 | data-length: 121280 | |
|
753 | 753 | right ready to write, waiting for reader |
|
754 | 754 | right proceeding with writing its changelog index and nodemap |
|
755 | 755 | finalized changelog write |
|
756 | 756 | persisting changelog nodemap |
|
757 |
new data start at 121 |
|
|
757 | new data start at 121280 | |
|
758 | 758 | persisted changelog nodemap |
|
759 | 759 | docket-details: |
|
760 | 760 | uid: 43c37dde |
|
761 | 761 | actual-tip: 5007 |
|
762 | 762 | tip-rev: 5007 |
|
763 |
data-length: 121 |
|
|
763 | data-length: 121536 | |
|
764 | 764 | $ sh "$RUNTESTDIR"/testlib/wait-on-file 10 sync-files/reader-done |
|
765 | 765 | $ cat outputs/reader.txt |
|
766 | 766 | reader: reading changelog |
@@ -768,7 +768,7 b' read/write patterns.' | |||
|
768 | 768 | reader: nodemap docket read |
|
769 | 769 | record-data-length: 121280 |
|
770 | 770 | actual-data-length: 121280 |
|
771 |
file-actual-length: 121 |
|
|
771 | file-actual-length: 121536 | |
|
772 | 772 | reader: changelog read |
|
773 | 773 | docket-details: |
|
774 | 774 | uid: 43c37dde |
@@ -778,8 +778,6 b' read/write patterns.' | |||
|
778 | 778 | tip-rev: 5006 |
|
779 | 779 | tip-node: 492901161367 |
|
780 | 780 | node-rev: 5006 |
|
781 | error while checking revision: 18 (known-bad-output !) | |
|
782 | Inconsistency: Revision 5007 found in nodemap is not in revlog indexi (known-bad-output !) | |
|
783 | 781 | |
|
784 | 782 | $ hg -R ./race-repo log -G -r 'head()' |
|
785 | 783 | o changeset: 5007:ac4a2abde241 |
General Comments 0
You need to be logged in to leave comments.
Login now