Comments
Patch
@@ -223,13 +223,9 @@
return stringset(repo, subset, x)
def rangeset(repo, subset, x, y):
- m = getset(repo, subset, x)
- if not m:
- m = getset(repo, list(repo), x)
-
- n = getset(repo, subset, y)
- if not n:
- n = getset(repo, list(repo), y)
+ cl = repo.changelog
+ m = getset(repo, cl, x)
+ n = getset(repo, cl, y)
if not m or not n:
return []
@@ -326,7 +322,7 @@
raise error.ParseError(_("~ expects a number"))
ps = set()
cl = repo.changelog
- for r in getset(repo, subset, x):
+ for r in getset(repo, cl, x):
for i in range(n):
r = cl.parentrevs(r)[0]
ps.add(r)
@@ -1139,7 +1135,7 @@
raise error.ParseError(_("^ expects a number 0, 1, or 2"))
ps = set()
cl = repo.changelog
- for r in getset(repo, subset, x):
+ for r in getset(repo, cl, x):
if n == 0:
ps.add(r)
elif n == 1:
@@ -758,6 +758,31 @@
$ hg log -r "${ISSUE3669_TIP}^" --template '{rev}\n'
8
+test or-ed indirect predicates (issue3775)
+
+ $ log '6 or 6^1' | sort
+ 5
+ 6
+ $ log '6^1 or 6' | sort
+ 5
+ 6
+ $ log '4 or 4~1' | sort
+ 2
+ 4
+ $ log '4~1 or 4' | sort
+ 2
+ 4
+ $ log '(6 or 8): or 6' | sort
+ 6
+ 7
+ 8
+ 9
+ $ log '6 or (6 or 8):' | sort
+ 6
+ 7
+ 8
+ 9
+
tests for 'remote()' predicate:
#. (csets in remote) (id) (remote)
1. less than local current branch "default"