Comments
Patch
@@ -254,17 +254,17 @@ class basectx(object):
return self._manifest[path], self._manifest.flags(path)
except KeyError:
raise error.ManifestLookupError(self._node, path,
_('not found in manifest'))
if '_manifestdelta' in self.__dict__ or path in self.files():
if path in self._manifestdelta:
return (self._manifestdelta[path],
self._manifestdelta.flags(path))
- node, flag = self._repo.manifest.find(self._changeset[0], path)
+ node, flag = self._repo.manifest.find(self._changeset.manifest, path)
if not node:
raise error.ManifestLookupError(self._node, path,
_('not found in manifest'))
return node, flag
def filenode(self, path):
return self._fileinfo(path)[0]
@@ -519,53 +519,61 @@ class changectx(basectx):
except AttributeError:
return id(self)
def __nonzero__(self):
return self._rev != nullrev
@propertycache
def _changeset(self):
- return self._repo.changelog.read(self.rev())
+ return self._repo.changelog.changelogrevision(self.rev())
@propertycache
def _manifest(self):
- return self._repo.manifest.read(self._changeset[0])
+ return self._repo.manifest.read(self._changeset.manifest)
@propertycache
def _manifestdelta(self):
- return self._repo.manifest.readdelta(self._changeset[0])
+ return self._repo.manifest.readdelta(self._changeset.manifest)
@propertycache
def _parents(self):
repo = self._repo
p1, p2 = repo.changelog.parentrevs(self._rev)
if p2 == nullrev:
return [changectx(repo, p1)]
return [changectx(repo, p1), changectx(repo, p2)]
def changeset(self):
- return self._changeset
+ c = self._changeset
+ return (
+ c.manifest,
+ c.user,
+ c.date,
+ c.files,
+ c.description,
+ c.extra,
+ )
def manifestnode(self):
- return self._changeset[0]
+ return self._changeset.manifest
def user(self):
- return self._changeset[1]
+ return self._changeset.user
def date(self):
- return self._changeset[2]
+ return self._changeset.date
def files(self):
- return self._changeset[3]
+ return self._changeset.files
def description(self):
- return self._changeset[4]
+ return self._changeset.description
def branch(self):
- return encoding.tolocal(self._changeset[5].get("branch"))
+ return encoding.tolocal(self._changeset.extra.get("branch"))
def closesbranch(self):
- return 'close' in self._changeset[5]
+ return 'close' in self._changeset.extra
def extra(self):
- return self._changeset[5]
+ return self._changeset.extra
def tags(self):
return self._repo.nodetags(self._node)
def bookmarks(self):
return self._repo.nodebookmarks(self._node)
def phase(self):
return self._repo._phasecache.phase(self._repo, self._rev)
def hidden(self):
return self._rev in repoview.filterrevs(self._repo, 'visible')