mercurial/revset.py
changeset 26143 42bb1812686f
parent 26102 5618858dce26
child 26212 0d8df1f510c6
equal deleted inserted replaced
26142:7332bf4ae959 26143:42bb1812686f
  2065         try:
  2065         try:
  2066             # fast path for integer revision
  2066             # fast path for integer revision
  2067             r = int(t)
  2067             r = int(t)
  2068             if str(r) != t or r not in cl:
  2068             if str(r) != t or r not in cl:
  2069                 raise ValueError
  2069                 raise ValueError
       
  2070             revs = [r]
  2070         except ValueError:
  2071         except ValueError:
  2071             r = repo[t].rev()
  2072             revs = stringset(repo, subset, t)
  2072         if r in seen:
  2073 
  2073             continue
  2074         for r in revs:
  2074         if (r in subset
  2075             if r in seen:
  2075             or r == node.nullrev and isinstance(subset, fullreposet)):
  2076                 continue
  2076             ls.append(r)
  2077             if (r in subset
  2077         seen.add(r)
  2078                 or r == node.nullrev and isinstance(subset, fullreposet)):
       
  2079                 ls.append(r)
       
  2080             seen.add(r)
  2078     return baseset(ls)
  2081     return baseset(ls)
  2079 
  2082 
  2080 # for internal use
  2083 # for internal use
  2081 def _intlist(repo, subset, x):
  2084 def _intlist(repo, subset, x):
  2082     s = getstring(x, "internal error")
  2085     s = getstring(x, "internal error")