Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 3337:b02e60097bbe
changectx: search manifest delta for filenode
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Wed, 11 Oct 2006 13:56:35 -0700 |
parents | e44eadc92ec4 |
children | 69fe021cc23e |
comparison
equal
deleted
inserted
replaced
3336:e44eadc92ec4 | 3337:b02e60097bbe |
---|---|
46 self._changeset = self._repo.changelog.read(self.node()) | 46 self._changeset = self._repo.changelog.read(self.node()) |
47 return self._changeset | 47 return self._changeset |
48 elif name == '_manifest': | 48 elif name == '_manifest': |
49 self._manifest = self._repo.manifest.read(self._changeset[0]) | 49 self._manifest = self._repo.manifest.read(self._changeset[0]) |
50 return self._manifest | 50 return self._manifest |
51 elif name == '_manifestdelta': | |
52 md = self._repo.manifest.readdelta(self._changeset[0]) | |
53 self._manifestdelta = md | |
54 return self._manifestdelta | |
51 else: | 55 else: |
52 raise AttributeError, name | 56 raise AttributeError, name |
53 | 57 |
54 def changeset(self): return self._changeset | 58 def changeset(self): return self._changeset |
55 def manifest(self): return self._manifest | 59 def manifest(self): return self._manifest |
75 if '_manifest' in self.__dict__: | 79 if '_manifest' in self.__dict__: |
76 try: | 80 try: |
77 return self._manifest[path] | 81 return self._manifest[path] |
78 except KeyError: | 82 except KeyError: |
79 raise repo.LookupError(_("'%s' not found in manifest") % path) | 83 raise repo.LookupError(_("'%s' not found in manifest") % path) |
84 if '_manifestdelta' in self.__dict__ or path in self.files(): | |
85 if path in self._manifestdelta: | |
86 return self._manifestdelta[path] | |
80 node, flag = self._repo.manifest.find(self._changeset[0], path) | 87 node, flag = self._repo.manifest.find(self._changeset[0], path) |
81 if not node: | 88 if not node: |
82 raise repo.LookupError(_("'%s' not found in manifest") % path) | 89 raise repo.LookupError(_("'%s' not found in manifest") % path) |
83 | 90 |
84 return node | 91 return node |