comparison tests/test-revset.t @ 48116:5ced12cfa41b

errors: raise InputError on bad revset to revrange() iff provided by the user Most callers of `scmutil.revrange()` pass in a revset provided by the user. If there are problems resolving that, it should result in an `InputError` and exit code 10 (when using detailed exit codes). However, there are also some callers that pass in revsets not provided by the user. `InputError` is not appropriate in those cases. This patch therefore introduces a wrapper around `scmutil.revrange()` that simply converts the exception type. I put it in `logcmdutil.py` since that seems to be the lowest-level module in the (poorly defined) UI layer. Differential Revision: https://phab.mercurial-scm.org/D11560
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 28 Sep 2021 08:47:11 -0700
parents 56d441256e82
children 8c4881c07f57
comparison
equal deleted inserted replaced
48115:b067d22dc6ad 48116:5ced12cfa41b
405 $ log 'date()' 405 $ log 'date()'
406 hg: parse error: date requires a string 406 hg: parse error: date requires a string
407 [10] 407 [10]
408 $ log 'date' 408 $ log 'date'
409 abort: unknown revision 'date' 409 abort: unknown revision 'date'
410 [255] 410 [10]
411 $ log 'date(' 411 $ log 'date('
412 hg: parse error at 5: not a prefix: end 412 hg: parse error at 5: not a prefix: end
413 (date( 413 (date(
414 ^ here) 414 ^ here)
415 [10] 415 [10]
419 $ log 'date(tip)' 419 $ log 'date(tip)'
420 hg: parse error: invalid date: 'tip' 420 hg: parse error: invalid date: 'tip'
421 [10] 421 [10]
422 $ log '0:date' 422 $ log '0:date'
423 abort: unknown revision 'date' 423 abort: unknown revision 'date'
424 [255] 424 [10]
425 $ log '::"date"' 425 $ log '::"date"'
426 abort: unknown revision 'date' 426 abort: unknown revision 'date'
427 [255] 427 [10]
428 $ hg book date -r 4 428 $ hg book date -r 4
429 $ log '0:date' 429 $ log '0:date'
430 0 430 0
431 1 431 1
432 2 432 2
3065 2 3065 2
3066 1 3066 1
3067 0 3067 0
3068 $ log 'expectsize(0:1, 1)' 3068 $ log 'expectsize(0:1, 1)'
3069 abort: revset size mismatch. expected 1, got 2 3069 abort: revset size mismatch. expected 1, got 2
3070 [255] 3070 [10]
3071 $ log 'expectsize(0:4, -1)' 3071 $ log 'expectsize(0:4, -1)'
3072 hg: parse error: negative size 3072 hg: parse error: negative size
3073 [10] 3073 [10]
3074 $ log 'expectsize(0:2, 2:4)' 3074 $ log 'expectsize(0:2, 2:4)'
3075 0 3075 0
3076 1 3076 1
3077 2 3077 2
3078 $ log 'expectsize(0:1, 3:5)' 3078 $ log 'expectsize(0:1, 3:5)'
3079 abort: revset size mismatch. expected between 3 and 5, got 2 3079 abort: revset size mismatch. expected between 3 and 5, got 2
3080 [255] 3080 [10]
3081 $ log 'expectsize(0:1, -1:2)' 3081 $ log 'expectsize(0:1, -1:2)'
3082 hg: parse error: negative size 3082 hg: parse error: negative size
3083 [10] 3083 [10]
3084 $ log 'expectsize(0:1, 1:-2)' 3084 $ log 'expectsize(0:1, 1:-2)'
3085 hg: parse error: negative size 3085 hg: parse error: negative size
3102 0 3102 0
3103 1 3103 1
3104 2 3104 2
3105 $ log 'expectsize(0:2, 4:)' 3105 $ log 'expectsize(0:2, 4:)'
3106 abort: revset size mismatch. expected between 4 and 11, got 3 3106 abort: revset size mismatch. expected between 4 and 11, got 3
3107 [255] 3107 [10]
3108 $ log 'expectsize(0:2, :2)' 3108 $ log 'expectsize(0:2, :2)'
3109 abort: revset size mismatch. expected between 0 and 2, got 3 3109 abort: revset size mismatch. expected between 0 and 2, got 3
3110 [255] 3110 [10]
3111 3111
3112 Test getting list of node from file 3112 Test getting list of node from file
3113 3113
3114 $ hg log -r '0:2' -T '{node}\n' > some.nodes 3114 $ hg log -r '0:2' -T '{node}\n' > some.nodes
3115 $ hg log -r 'nodefromfile("some.nodes")' -T '{rev}\n' 3115 $ hg log -r 'nodefromfile("some.nodes")' -T '{rev}\n'