Show More
@@ -55,6 +55,12 b' class changectx(object):' | |||||
55 | md = self._repo.manifest.readdelta(self._changeset[0]) |
|
55 | md = self._repo.manifest.readdelta(self._changeset[0]) | |
56 | self._manifestdelta = md |
|
56 | self._manifestdelta = md | |
57 | return self._manifestdelta |
|
57 | return self._manifestdelta | |
|
58 | elif name == '_parents': | |||
|
59 | p = self._repo.changelog.parents(self._node) | |||
|
60 | if p[1] == nullid: | |||
|
61 | p = p[:-1] | |||
|
62 | self._parents = [changectx(self._repo, x) for x in p] | |||
|
63 | return self._parents | |||
58 | else: |
|
64 | else: | |
59 | raise AttributeError, name |
|
65 | raise AttributeError, name | |
60 |
|
66 | |||
@@ -85,8 +91,7 b' class changectx(object):' | |||||
85 |
|
91 | |||
86 | def parents(self): |
|
92 | def parents(self): | |
87 | """return contexts for each parent changeset""" |
|
93 | """return contexts for each parent changeset""" | |
88 | p = self._repo.changelog.parents(self._node) |
|
94 | return self._parents | |
89 | return [changectx(self._repo, x) for x in p] |
|
|||
90 |
|
95 | |||
91 | def children(self): |
|
96 | def children(self): | |
92 | """return contexts for each child changeset""" |
|
97 | """return contexts for each child changeset""" | |
@@ -484,15 +489,18 b' class workingctx(changectx):' | |||||
484 | return True |
|
489 | return True | |
485 |
|
490 | |||
486 | def __getattr__(self, name): |
|
491 | def __getattr__(self, name): | |
487 | if name == '_parents': |
|
|||
488 | self._parents = self._repo.parents() |
|
|||
489 | return self._parents |
|
|||
490 | if name == '_status': |
|
492 | if name == '_status': | |
491 | self._status = self._repo.status() |
|
493 | self._status = self._repo.status() | |
492 | return self._status |
|
494 | return self._status | |
493 | if name == '_manifest': |
|
495 | if name == '_manifest': | |
494 | self._buildmanifest() |
|
496 | self._buildmanifest() | |
495 | return self._manifest |
|
497 | return self._manifest | |
|
498 | elif name == '_parents': | |||
|
499 | p = self._repo.dirstate.parents() | |||
|
500 | if p[1] == nullid: | |||
|
501 | p = p[:-1] | |||
|
502 | self._parents = [changectx(self._repo, x) for x in p] | |||
|
503 | return self._parents | |||
496 | else: |
|
504 | else: | |
497 | raise AttributeError, name |
|
505 | raise AttributeError, name | |
498 |
|
506 | |||
@@ -544,10 +552,6 b' class workingctx(changectx):' | |||||
544 | [t.extend(p.tags()) for p in self.parents()] |
|
552 | [t.extend(p.tags()) for p in self.parents()] | |
545 | return t |
|
553 | return t | |
546 |
|
554 | |||
547 | def parents(self): |
|
|||
548 | """return contexts for each parent changeset""" |
|
|||
549 | return self._parents |
|
|||
550 |
|
||||
551 | def children(self): |
|
555 | def children(self): | |
552 | return [] |
|
556 | return [] | |
553 |
|
557 |
@@ -489,17 +489,8 b' class localrepository(repo.repository):' | |||||
489 | return context.changectx(self, changeid) |
|
489 | return context.changectx(self, changeid) | |
490 |
|
490 | |||
491 | def parents(self, changeid=None): |
|
491 | def parents(self, changeid=None): | |
492 | ''' |
|
492 | '''get list of changectxs for parents of changeid''' | |
493 | get list of changectxs for parents of changeid or working directory |
|
493 | return self.changectx(changeid).parents() | |
494 | ''' |
|
|||
495 | if changeid is None: |
|
|||
496 | pl = self.dirstate.parents() |
|
|||
497 | else: |
|
|||
498 | n = self.changelog.lookup(changeid) |
|
|||
499 | pl = self.changelog.parents(n) |
|
|||
500 | if pl[1] == nullid: |
|
|||
501 | return [self.changectx(pl[0])] |
|
|||
502 | return [self.changectx(pl[0]), self.changectx(pl[1])] |
|
|||
503 |
|
494 | |||
504 | def filectx(self, path, changeid=None, fileid=None): |
|
495 | def filectx(self, path, changeid=None, fileid=None): | |
505 | """changeid can be a changeset revision, node, or tag. |
|
496 | """changeid can be a changeset revision, node, or tag. |
General Comments 0
You need to be logged in to leave comments.
Login now