171 return symbols[a[1]](repo, subset, b) |
171 return symbols[a[1]](repo, subset, b) |
172 raise error.ParseError(_("not a function: %s") % a[1]) |
172 raise error.ParseError(_("not a function: %s") % a[1]) |
173 |
173 |
174 # functions |
174 # functions |
175 |
175 |
|
176 def node(repo, subset, x): |
|
177 l = getargs(x, 1, 1, _("rev wants one argument")) |
|
178 n = getstring(l[0], _("rev wants a string")) |
|
179 if len(n) == 40: |
|
180 rn = repo[n].rev() |
|
181 else: |
|
182 rn = repo.changelog.rev(repo.changelog._partialmatch(n)) |
|
183 return [r for r in subset if r == rn] |
|
184 |
|
185 def rev(repo, subset, x): |
|
186 l = getargs(x, 1, 1, _("rev wants one argument")) |
|
187 try: |
|
188 l = int(getstring(l[0], _("rev wants a number"))) |
|
189 except ValueError: |
|
190 raise error.ParseError(_("rev expects a number")) |
|
191 return [r for r in subset if r == l] |
|
192 |
176 def p1(repo, subset, x): |
193 def p1(repo, subset, x): |
177 ps = set() |
194 ps = set() |
178 cl = repo.changelog |
195 cl = repo.changelog |
179 for r in getset(repo, subset, x): |
196 for r in getset(repo, subset, x): |
180 ps.add(cl.parentrevs(r)[0]) |
197 ps.add(cl.parentrevs(r)[0]) |