Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/localrepo.py @ 4258:b11a2fb59cf5
revlog: simplify revlog version handling
- pass the default version as an attribute on the opener
- eliminate config option mess
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 22 Mar 2007 19:52:38 -0500 |
parents | 0d51eb296fb9 |
children | cd7b36b7869c |
comparison
equal
deleted
inserted
replaced
4257:1b5c38e9d7aa | 4258:b11a2fb59cf5 |
---|---|
86 try: | 86 try: |
87 self.ui.readconfig(self.join("hgrc"), self.root) | 87 self.ui.readconfig(self.join("hgrc"), self.root) |
88 except IOError: | 88 except IOError: |
89 pass | 89 pass |
90 | 90 |
91 v = self.ui.configrevlog() | 91 self.changelog = changelog.changelog(self.sopener) |
92 self.revlogversion = int(v.get('format', revlog.REVLOG_DEFAULT_FORMAT)) | 92 self.sopener.defversion = self.changelog.version |
93 self.revlogv1 = self.revlogversion != revlog.REVLOGV0 | 93 self.manifest = manifest.manifest(self.sopener) |
94 fl = v.get('flags', None) | |
95 flags = 0 | |
96 if fl != None: | |
97 for x in fl.split(): | |
98 flags |= revlog.flagstr(x) | |
99 elif self.revlogv1: | |
100 flags = revlog.REVLOG_DEFAULT_FLAGS | |
101 | |
102 v = self.revlogversion | flags | |
103 self.manifest = manifest.manifest(self.sopener, v) | |
104 self.changelog = changelog.changelog(self.sopener, v) | |
105 | 94 |
106 fallback = self.ui.config('ui', 'fallbackencoding') | 95 fallback = self.ui.config('ui', 'fallbackencoding') |
107 if fallback: | 96 if fallback: |
108 util._fallbackencoding = fallback | 97 util._fallbackencoding = fallback |
109 | |
110 # the changelog might not have the inline index flag | |
111 # on. If the format of the changelog is the same as found in | |
112 # .hgrc, apply any flags found in the .hgrc as well. | |
113 # Otherwise, just version from the changelog | |
114 v = self.changelog.version | |
115 if v == self.revlogversion: | |
116 v |= flags | |
117 self.revlogversion = v | |
118 | 98 |
119 self.tagscache = None | 99 self.tagscache = None |
120 self.branchcache = None | 100 self.branchcache = None |
121 self.nodetagscache = None | 101 self.nodetagscache = None |
122 self.filterpats = {} | 102 self.filterpats = {} |
491 return os.path.join(self.root, f) | 471 return os.path.join(self.root, f) |
492 | 472 |
493 def file(self, f): | 473 def file(self, f): |
494 if f[0] == '/': | 474 if f[0] == '/': |
495 f = f[1:] | 475 f = f[1:] |
496 return filelog.filelog(self.sopener, f, self.revlogversion) | 476 return filelog.filelog(self.sopener, f) |
497 | 477 |
498 def changectx(self, changeid=None): | 478 def changectx(self, changeid=None): |
499 return context.changectx(self, changeid) | 479 return context.changectx(self, changeid) |
500 | 480 |
501 def workingctx(self): | 481 def workingctx(self): |
1802 | 1782 |
1803 # write changelog data to temp files so concurrent readers will not see | 1783 # write changelog data to temp files so concurrent readers will not see |
1804 # inconsistent view | 1784 # inconsistent view |
1805 cl = None | 1785 cl = None |
1806 try: | 1786 try: |
1807 cl = appendfile.appendchangelog(self.sopener, | 1787 cl = appendfile.appendchangelog(self.sopener) |
1808 self.changelog.version) | |
1809 | |
1810 oldheads = len(cl.heads()) | 1788 oldheads = len(cl.heads()) |
1811 | 1789 |
1812 # pull off the changeset group | 1790 # pull off the changeset group |
1813 self.ui.status(_("adding changesets\n")) | 1791 self.ui.status(_("adding changesets\n")) |
1814 cor = cl.count() - 1 | 1792 cor = cl.count() - 1 |
1846 finally: | 1824 finally: |
1847 if cl: | 1825 if cl: |
1848 cl.cleanup() | 1826 cl.cleanup() |
1849 | 1827 |
1850 # make changelog see real files again | 1828 # make changelog see real files again |
1851 self.changelog = changelog.changelog(self.sopener, | 1829 self.changelog = changelog.changelog(self.sopener) |
1852 self.changelog.version) | |
1853 self.changelog.checkinlinesize(tr) | 1830 self.changelog.checkinlinesize(tr) |
1854 | 1831 |
1855 newheads = len(self.changelog.heads()) | 1832 newheads = len(self.changelog.heads()) |
1856 heads = "" | 1833 heads = "" |
1857 if oldheads and newheads != oldheads: | 1834 if oldheads and newheads != oldheads: |