##// END OF EJS Templates
revset: evaluate sub expressions correctly (issue3775)...
FUJIWARA Katsunori -
r18473:692cbda1 stable
parent child Browse files
Show More
@@ -223,13 +223,9 b' def symbolset(repo, subset, x):'
223 223 return stringset(repo, subset, x)
224 224
225 225 def rangeset(repo, subset, x, y):
226 m = getset(repo, subset, x)
227 if not m:
228 m = getset(repo, list(repo), x)
229
230 n = getset(repo, subset, y)
231 if not n:
232 n = getset(repo, list(repo), y)
226 cl = repo.changelog
227 m = getset(repo, cl, x)
228 n = getset(repo, cl, y)
233 229
234 230 if not m or not n:
235 231 return []
@@ -326,7 +322,7 b' def ancestorspec(repo, subset, x, n):'
326 322 raise error.ParseError(_("~ expects a number"))
327 323 ps = set()
328 324 cl = repo.changelog
329 for r in getset(repo, subset, x):
325 for r in getset(repo, cl, x):
330 326 for i in range(n):
331 327 r = cl.parentrevs(r)[0]
332 328 ps.add(r)
@@ -1139,7 +1135,7 b' def parentspec(repo, subset, x, n):'
1139 1135 raise error.ParseError(_("^ expects a number 0, 1, or 2"))
1140 1136 ps = set()
1141 1137 cl = repo.changelog
1142 for r in getset(repo, subset, x):
1138 for r in getset(repo, cl, x):
1143 1139 if n == 0:
1144 1140 ps.add(r)
1145 1141 elif n == 1:
@@ -758,6 +758,37 b' test revsets started with 40-chars hash '
758 758 $ hg log -r "${ISSUE3669_TIP}^" --template '{rev}\n'
759 759 8
760 760
761 test or-ed indirect predicates (issue3775)
762
763 $ log '6 or 6^1' | sort
764 5
765 6
766 $ log '6^1 or 6' | sort
767 5
768 6
769 $ log '4 or 4~1' | sort
770 2
771 4
772 $ log '4~1 or 4' | sort
773 2
774 4
775 $ log '(0 or 2):(4 or 6) or 0 or 6' | sort
776 0
777 1
778 2
779 3
780 4
781 5
782 6
783 $ log '0 or 6 or (0 or 2):(4 or 6)' | sort
784 0
785 1
786 2
787 3
788 4
789 5
790 6
791
761 792 tests for 'remote()' predicate:
762 793 #. (csets in remote) (id) (remote)
763 794 1. less than local current branch "default"
General Comments 0
You need to be logged in to leave comments. Login now