comparison mercurial/revset.py @ 12929:515c2786e1cf

revsets: let parents() return parents of working dir This patch makes the 'set' argument to revset function parents() optional. Like p1() and p2(), if no argument is given, returns the parent(s) of the working directory. Morally equivalent to 'p1()+p2()', as expected.
author Kevin Bullock <kbullock@ringworld.org>
date Thu, 04 Nov 2010 17:09:00 -0500
parents a5f7f1e9340e
children 98b79c892768
comparison
equal deleted inserted replaced
12928:a5f7f1e9340e 12929:515c2786e1cf
230 for r in getset(repo, range(len(repo)), x): 230 for r in getset(repo, range(len(repo)), x):
231 ps.add(cl.parentrevs(r)[1]) 231 ps.add(cl.parentrevs(r)[1])
232 return [r for r in subset if r in ps] 232 return [r for r in subset if r in ps]
233 233
234 def parents(repo, subset, x): 234 def parents(repo, subset, x):
235 """``parents(set)`` 235 """``parents([set])``
236 The set of all parents for all changesets in set. 236 The set of all parents for all changesets in set, or the working directory.
237 """ 237 """
238 repo.ui.debug(repr(x), '\n')
239 if x is None:
240 return [r.rev() for r in repo[x].parents()]
241
238 ps = set() 242 ps = set()
239 cl = repo.changelog 243 cl = repo.changelog
240 for r in getset(repo, range(len(repo)), x): 244 for r in getset(repo, range(len(repo)), x):
241 ps.update(cl.parentrevs(r)) 245 ps.update(cl.parentrevs(r))
242 return [r for r in subset if r in ps] 246 return [r for r in subset if r in ps]