tests/test-revset.t
changeset 33417 d1b13d4995ed
parent 33416 9467d5337292
child 33542 b11e8c67fb0f
equal deleted inserted replaced
33416:9467d5337292 33417:d1b13d4995ed
   510       (parentpost
   510       (parentpost
   511         ('symbol', 'tip'))
   511         ('symbol', 'tip'))
   512       ('symbol', 'generations')
   512       ('symbol', 'generations')
   513       (negate
   513       (negate
   514         ('symbol', '1'))))
   514         ('symbol', '1'))))
   515   hg: parse error: can't use a relation in this context
   515   9
   516   [255]
   516   8
       
   517   7
       
   518   6
       
   519   5
       
   520   4
   517 
   521 
   518   $ hg debugrevspec -p parsed --no-show-revs 'not public()#generations[0]'
   522   $ hg debugrevspec -p parsed --no-show-revs 'not public()#generations[0]'
   519   * parsed:
   523   * parsed:
   520   (not
   524   (not
   521     (relsubscript
   525     (relsubscript
   522       (func
   526       (func
   523         ('symbol', 'public')
   527         ('symbol', 'public')
   524         None)
   528         None)
   525       ('symbol', 'generations')
   529       ('symbol', 'generations')
   526       ('symbol', '0')))
   530       ('symbol', '0')))
   527   hg: parse error: can't use a relation in this context
       
   528   [255]
       
   529 
   531 
   530 left-hand side of relation-subscript operator should be optimized recursively:
   532 left-hand side of relation-subscript operator should be optimized recursively:
   531 
   533 
   532   $ hg debugrevspec -p analyzed -p optimized --no-show-revs \
   534   $ hg debugrevspec -p analyzed -p optimized --no-show-revs \
   533   > '(not public())#generations[0]'
   535   > '(not public())#generations[0]'
   549       None
   551       None
   550       any)
   552       any)
   551     ('symbol', 'generations')
   553     ('symbol', 'generations')
   552     ('symbol', '0')
   554     ('symbol', '0')
   553     define)
   555     define)
   554   hg: parse error: can't use a relation in this context
       
   555   [255]
       
   556 
   556 
   557 resolution of subscript and relation-subscript ternary operators:
   557 resolution of subscript and relation-subscript ternary operators:
   558 
   558 
   559   $ hg debugrevspec -p analyzed 'tip[0]'
   559   $ hg debugrevspec -p analyzed 'tip[0]'
   560   * analyzed:
   560   * analyzed:
   570   (relsubscript
   570   (relsubscript
   571     ('symbol', 'tip')
   571     ('symbol', 'tip')
   572     ('symbol', 'rel')
   572     ('symbol', 'rel')
   573     ('symbol', '0')
   573     ('symbol', '0')
   574     define)
   574     define)
   575   hg: parse error: can't use a relation in this context
   575   hg: parse error: unknown identifier: rel
   576   [255]
   576   [255]
   577 
   577 
   578   $ hg debugrevspec -p analyzed '(tip#rel)[0]'
   578   $ hg debugrevspec -p analyzed '(tip#rel)[0]'
   579   * analyzed:
   579   * analyzed:
   580   (subscript
   580   (subscript
   608       ('symbol', 'rel0')
   608       ('symbol', 'rel0')
   609       define)
   609       define)
   610     ('symbol', 'rel1')
   610     ('symbol', 'rel1')
   611     ('symbol', '1')
   611     ('symbol', '1')
   612     define)
   612     define)
   613   hg: parse error: can't use a relation in this context
   613   hg: parse error: unknown identifier: rel1
   614   [255]
   614   [255]
   615 
   615 
   616   $ hg debugrevspec -p analyzed 'tip#rel0[0]#rel1[1]'
   616   $ hg debugrevspec -p analyzed 'tip#rel0[0]#rel1[1]'
   617   * analyzed:
   617   * analyzed:
   618   (relsubscript
   618   (relsubscript
   622       ('symbol', '0')
   622       ('symbol', '0')
   623       define)
   623       define)
   624     ('symbol', 'rel1')
   624     ('symbol', 'rel1')
   625     ('symbol', '1')
   625     ('symbol', '1')
   626     define)
   626     define)
   627   hg: parse error: can't use a relation in this context
   627   hg: parse error: unknown identifier: rel1
   628   [255]
   628   [255]
   629 
   629 
   630 parse errors of relation, subscript and relation-subscript operators:
   630 parse errors of relation, subscript and relation-subscript operators:
   631 
   631 
   632   $ hg debugrevspec '[0]'
   632   $ hg debugrevspec '[0]'
   641   $ hg debugrevspec '.#rel[0'
   641   $ hg debugrevspec '.#rel[0'
   642   hg: parse error at 7: unexpected token: end
   642   hg: parse error at 7: unexpected token: end
   643   [255]
   643   [255]
   644   $ hg debugrevspec '.]'
   644   $ hg debugrevspec '.]'
   645   hg: parse error at 1: invalid token
   645   hg: parse error at 1: invalid token
       
   646   [255]
       
   647 
       
   648   $ hg debugrevspec '.#generations[a]'
       
   649   hg: parse error: relation subscript must be an integer
       
   650   [255]
       
   651   $ hg debugrevspec '.#generations[1-2]'
       
   652   hg: parse error: relation subscript must be an integer
   646   [255]
   653   [255]
   647 
   654 
   648 parsed tree at stages:
   655 parsed tree at stages:
   649 
   656 
   650   $ hg debugrevspec -p all '()'
   657   $ hg debugrevspec -p all '()'
  1177   2
  1184   2
  1178   3
  1185   3
  1179   4
  1186   4
  1180   5
  1187   5
  1181   7
  1188   7
       
  1189 
       
  1190 test ancestors/descendants relation subscript:
       
  1191 
       
  1192   $ log 'tip#generations[0]'
       
  1193   9
       
  1194   $ log '.#generations[-1]'
       
  1195   8
       
  1196   $ log '.#g[(-1)]'
       
  1197   8
       
  1198 
       
  1199   $ hg debugrevspec -p parsed 'roots(:)#g[2]'
       
  1200   * parsed:
       
  1201   (relsubscript
       
  1202     (func
       
  1203       ('symbol', 'roots')
       
  1204       (rangeall
       
  1205         None))
       
  1206     ('symbol', 'g')
       
  1207     ('symbol', '2'))
       
  1208   2
       
  1209   3
  1182 
  1210 
  1183 test author
  1211 test author
  1184 
  1212 
  1185   $ log 'author(bob)'
  1213   $ log 'author(bob)'
  1186   2
  1214   2