D451: [RFC] revset: remove order information from tree
quark updated this revision to Diff 1097. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D451?vs=1096=1097 REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,18 +711,16 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: - (and -('symbol', '2') -(func - ('symbol', 'r3232') - None - define) -define) + (func +('symbol', '_flipand') +(list + ('symbol', '2') + (func +('symbol', 'r3232') +None))) * analyzed set: * optimized set: @@ -776,8 +752,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +768,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +779,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +790,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1613,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -define) +('symbol', '9')) + ('symbol', '8'))) * set: 8 @@ -1663,8 +1630,7 @@ ('symbol', 'only') (list ('symbol', '9') - ('symbol', '5')) -define) + ('symbol', '5'))) * set: 2 @@ -1999,18 +1965,13 @@ (and (range ('symbol', '3') -('symbol', '0') -
D451: [RFC] revset: remove order information from tree
quark updated this revision to Diff 1096. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D451?vs=1095=1096 REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,18 +711,16 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: - (and -('symbol', '2') -(func - ('symbol', 'r3232') - None - define) -define) + (func +('symbol', '_flipand') +(list + ('symbol', '2') + (func +('symbol', 'r3232') +None))) * analyzed set: * optimized set: @@ -776,8 +752,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +768,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +779,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +790,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1613,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -define) +('symbol', '9')) + ('symbol', '8'))) * set: 8 @@ -1663,8 +1630,7 @@ ('symbol', 'only') (list ('symbol', '9') - ('symbol', '5')) -define) + ('symbol', '5'))) * set: 2 @@ -1999,18 +1965,13 @@ (and (range ('symbol', '3') -('symbol', '0') -
D451: [RFC] revset: remove order information from tree
quark added inline comments. INLINE COMMENTS > test-revset.t:2893 >, > -> > + > >0 This is caused by `fullreposet` having a default order. If we remove that, it would be optimized to `` here. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D451 To: quark, #hg-reviewers Cc: yuja, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D451: [RFC] revset: remove order information from tree
quark updated this revision to Diff 1095. quark edited the summary of this revision. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D451?vs=1094=1095 REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,18 +711,16 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: - (and -('symbol', '2') -(func - ('symbol', 'r3232') - None - define) -define) + (func +('symbol', '_flipand') +(list + ('symbol', '2') + (func +('symbol', 'r3232') +None))) * analyzed set: * optimized set: @@ -776,8 +752,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +768,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +779,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +790,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1613,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -define) +('symbol', '9')) + ('symbol', '8'))) * set: 8 @@ -1663,8 +1630,7 @@ ('symbol', 'only') (list ('symbol', '9') - ('symbol', '5')) -define) + ('symbol', '5'))) * set: 2 @@ -1999,18 +1965,13 @@ (and (range ('symbol',
D451: [RFC] revset: remove order information from tree
quark updated this revision to Diff 1094. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D451?vs=1093=1094 REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,27 +711,18 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: (and -('symbol', '2') (func ('symbol', 'r3232') - None - define) -define) + None) +('symbol', '2')) * analyzed set: * optimized set: - - --- analyzed - +++ optimized - 2 - +2 - [1] + $ hg debugrevspec --no-optimized --verify-optimized '0' abort: cannot use --verify-optimized with --no-optimized @@ -776,8 +745,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +761,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +772,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +783,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1606,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -define) +('symbol', '9')) + ('symbol', '8'))) * set: 8 @@ -1663,8 +1623,7 @@ ('symbol', 'only') (list ('symbol', '9') - ('symbol', '5')) -define) + ('symbol', '5'))) * set: 2 @@ -1999,18 +1958,13 @@
D451: [RFC] revset: remove order information from tree
quark updated this revision to Diff 1093. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D451?vs=1092=1093 REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,27 +711,18 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: (and -('symbol', '2') (func ('symbol', 'r3232') - None - define) -define) + None) +('symbol', '2')) * analyzed set: * optimized set: - - --- analyzed - +++ optimized - 2 - +2 - [1] + $ hg debugrevspec --no-optimized --verify-optimized '0' abort: cannot use --verify-optimized with --no-optimized @@ -776,8 +745,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +761,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +772,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +783,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1606,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -define) +('symbol', '9')) + ('symbol', '8'))) * set: 8 @@ -1663,8 +1623,7 @@ ('symbol', 'only') (list ('symbol', '9') - ('symbol', '5')) -define) + ('symbol', '5'))) * set: 2 @@ -1999,18 +1958,13 @@
D451: [RFC] revset: remove order information from tree
quark updated this revision to Diff 1092. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D451?vs=1091=1092 REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,27 +711,18 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: (and -('symbol', '2') (func ('symbol', 'r3232') - None - define) -define) + None) +('symbol', '2')) * analyzed set: * optimized set: - - --- analyzed - +++ optimized - 2 - +2 - [1] + $ hg debugrevspec --no-optimized --verify-optimized '0' abort: cannot use --verify-optimized with --no-optimized @@ -776,8 +745,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +761,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +772,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +783,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1606,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -define) +('symbol', '9')) + ('symbol', '8'))) * set: 8 @@ -1663,8 +1623,7 @@ ('symbol', 'only') (list ('symbol', '9') - ('symbol', '5')) -define) + ('symbol', '5'))) * set: 2 @@ -1999,18 +1958,13 @@
D451: [RFC] revset: remove order information from tree
quark added a subscriber: yuja. quark added a comment. @yuja Let me know if this can simplify `matchtree`, `buildtree` implementation. INLINE COMMENTS > test-revset.t:2502 > >$ try -p optimized '(reverse(contains("a")) + 2) & 0:2' >* optimized: The new code is less efficient here. I guess we it might be solvable by having a `_reverseand` operator that `_optimize` may use. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D451 To: quark, #hg-reviewers Cc: yuja, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D451: [RFC] revset: remove order information from tree
quark updated this revision to Diff 1091. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D451?vs=1090=1091 REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,27 +711,18 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: (and -('symbol', '2') (func ('symbol', 'r3232') - None - define) -define) + None) +('symbol', '2')) * analyzed set: * optimized set: - - --- analyzed - +++ optimized - 2 - +2 - [1] + $ hg debugrevspec --no-optimized --verify-optimized '0' abort: cannot use --verify-optimized with --no-optimized @@ -776,8 +745,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +761,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +772,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +783,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1606,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -define) +('symbol', '9')) + ('symbol', '8'))) * set: 8 @@ -1663,8 +1623,7 @@ ('symbol', 'only') (list ('symbol', '9') - ('symbol', '5')) -define) + ('symbol', '5'))) * set: 2 @@ -1999,18 +1958,13 @@
D451: [RFC] revset: remove order information from tree
quark created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Keeping `order` in tree makes AST operation harder. And there could be certain invalid cases, like: A(order=define) | B(order=define) ^^ couldn't be satisfied This patch changes the code to calculate order on the fly, during tree traversal. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D451 AFFECTED FILES mercurial/revset.py mercurial/revsetlang.py tests/test-revset.t CHANGE DETAILS diff --git a/tests/test-revset.t b/tests/test-revset.t --- a/tests/test-revset.t +++ b/tests/test-revset.t @@ -166,8 +166,7 @@ None) * optimized: (rangeall -None -define) +None) * set:0 @@ -495,8 +494,7 @@ ('symbol', 'foo') (func ('symbol', '_notpublic') - None - any)) + None)) hg: parse error: can't use a key-value pair in this context [255] @@ -538,52 +536,43 @@ (not (func ('symbol', 'public') -None -any) - define) +None)) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) * optimized: (relsubscript (func ('symbol', '_notpublic') - None - any) + None) ('symbol', 'generations') -('symbol', '0') -define) +('symbol', '0')) resolution of subscript and relation-subscript ternary operators: $ hg debugrevspec -p analyzed 'tip[0]' * analyzed: (subscript ('symbol', 'tip') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel[0]' * analyzed: (relsubscript ('symbol', 'tip') ('symbol', 'rel') -('symbol', '0') -define) +('symbol', '0')) hg: parse error: unknown identifier: rel [255] $ hg debugrevspec -p analyzed '(tip#rel)[0]' * analyzed: (subscript (relation ('symbol', 'tip') - ('symbol', 'rel') - define) -('symbol', '0') -define) + ('symbol', 'rel')) +('symbol', '0')) hg: parse error: can't use a subscript in this context [255] @@ -593,23 +582,19 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel') - ('symbol', '0') - define) -('symbol', '1') -define) + ('symbol', '0')) +('symbol', '1')) hg: parse error: can't use a subscript in this context [255] $ hg debugrevspec -p analyzed 'tip#rel0#rel1[1]' * analyzed: (relsubscript (relation ('symbol', 'tip') - ('symbol', 'rel0') - define) + ('symbol', 'rel0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -619,11 +604,9 @@ (relsubscript ('symbol', 'tip') ('symbol', 'rel0') - ('symbol', '0') - define) + ('symbol', '0')) ('symbol', 'rel1') -('symbol', '1') -define) +('symbol', '1')) hg: parse error: unknown identifier: rel1 [255] @@ -700,20 +683,15 @@ (or (list ('symbol', '0') -('symbol', '1')) - define) +('symbol', '1'))) (not - ('symbol', '1') - follow) -define) + ('symbol', '1'))) * optimized: (difference (func ('symbol', '_list') - ('string', '0\x001') - define) -('symbol', '1') -define) + ('string', '0\x001')) +('symbol', '1')) 0 $ hg debugrevspec -p unknown '0' @@ -733,27 +711,18 @@ (and (func ('symbol', 'r3232') - None - define) -('symbol', '2') -define) + None) +('symbol', '2')) * optimized: (and -('symbol', '2') (func ('symbol', 'r3232') - None - define) -define) + None) +('symbol', '2')) * analyzed set: * optimized set: - - --- analyzed - +++ optimized - 2 - +2 - [1] + $ hg debugrevspec --no-optimized --verify-optimized '0' abort: cannot use --verify-optimized with --no-optimized @@ -776,8 +745,7 @@ None) * analyzed: (rangeall -None -define) +None) * set: 0 @@ -793,8 +761,7 @@ $ try -p analyzed ':1' * analyzed: (rangepre -('symbol', '1') -define) +('symbol', '1')) * set: 0 @@ -805,9 +772,7 @@ (or (list ('symbol', '1') -('symbol', '2')) - define) -define) +('symbol', '2' * set: 0 @@ -818,9 +783,7 @@ (rangepre (and ('symbol', '1') - ('symbol', '2') - define) -define) + ('symbol', '2'))) * set: @@ -1643,11 +1606,8 @@ (difference (range ('symbol', '8') -('symbol', '9') -define) - ('symbol', '8') - define) -