Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 16866:91f3ac205816
revlog: ancestors(*revs) becomes ancestors(revs) (API)
Accepting a variable number of arguments as the old API did is
deeply ugly, particularly as it means the API can't be extended
with new arguments. Partly as a result, we have at least three
different implementations of the same ancestors algorithm (!?).
Most callers were forced to call ancestors(*somelist), adding to
both inefficiency and ugliness.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Fri, 01 Jun 2012 12:37:18 -0700 |
parents | 07741a5d6608 |
children | 1093ad1e8903 |
comparison
equal
deleted
inserted
replaced
16865:a6543fdcf869 | 16866:91f3ac205816 |
---|---|
221 """return contexts for each child changeset""" | 221 """return contexts for each child changeset""" |
222 c = self._repo.changelog.children(self._node) | 222 c = self._repo.changelog.children(self._node) |
223 return [changectx(self._repo, x) for x in c] | 223 return [changectx(self._repo, x) for x in c] |
224 | 224 |
225 def ancestors(self): | 225 def ancestors(self): |
226 for a in self._repo.changelog.ancestors(self._rev): | 226 for a in self._repo.changelog.ancestors([self._rev]): |
227 yield changectx(self._repo, a) | 227 yield changectx(self._repo, a) |
228 | 228 |
229 def descendants(self): | 229 def descendants(self): |
230 for d in self._repo.changelog.descendants(self._rev): | 230 for d in self._repo.changelog.descendants(self._rev): |
231 yield changectx(self._repo, d) | 231 yield changectx(self._repo, d) |
1017 finally: | 1017 finally: |
1018 wlock.release() | 1018 wlock.release() |
1019 | 1019 |
1020 def ancestors(self): | 1020 def ancestors(self): |
1021 for a in self._repo.changelog.ancestors( | 1021 for a in self._repo.changelog.ancestors( |
1022 *[p.rev() for p in self._parents]): | 1022 [p.rev() for p in self._parents]): |
1023 yield changectx(self._repo, a) | 1023 yield changectx(self._repo, a) |
1024 | 1024 |
1025 def undelete(self, list): | 1025 def undelete(self, list): |
1026 pctxs = self.parents() | 1026 pctxs = self.parents() |
1027 wlock = self._repo.wlock() | 1027 wlock = self._repo.wlock() |