Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/debugcommands.py @ 50977:98d1117dc904
debugrevspec: migrate `opts` to native kwargs
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 21 Aug 2023 17:39:22 -0400 |
parents | 56a966bc6b1a |
children | 36f116820853 |
comparison
equal
deleted
inserted
replaced
50976:56a966bc6b1a | 50977:98d1117dc904 |
---|---|
3380 representation or the parsed tree respectively. | 3380 representation or the parsed tree respectively. |
3381 | 3381 |
3382 Use --verify-optimized to compare the optimized result with the unoptimized | 3382 Use --verify-optimized to compare the optimized result with the unoptimized |
3383 one. Returns 1 if the optimized result differs. | 3383 one. Returns 1 if the optimized result differs. |
3384 """ | 3384 """ |
3385 opts = pycompat.byteskwargs(opts) | |
3386 aliases = ui.configitems(b'revsetalias') | 3385 aliases = ui.configitems(b'revsetalias') |
3387 stages = [ | 3386 stages = [ |
3388 (b'parsed', lambda tree: tree), | 3387 (b'parsed', lambda tree: tree), |
3389 ( | 3388 ( |
3390 b'expanded', | 3389 b'expanded', |
3392 ), | 3391 ), |
3393 (b'concatenated', revsetlang.foldconcat), | 3392 (b'concatenated', revsetlang.foldconcat), |
3394 (b'analyzed', revsetlang.analyze), | 3393 (b'analyzed', revsetlang.analyze), |
3395 (b'optimized', revsetlang.optimize), | 3394 (b'optimized', revsetlang.optimize), |
3396 ] | 3395 ] |
3397 if opts[b'no_optimized']: | 3396 if opts['no_optimized']: |
3398 stages = stages[:-1] | 3397 stages = stages[:-1] |
3399 if opts[b'verify_optimized'] and opts[b'no_optimized']: | 3398 if opts['verify_optimized'] and opts['no_optimized']: |
3400 raise error.Abort( | 3399 raise error.Abort( |
3401 _(b'cannot use --verify-optimized with --no-optimized') | 3400 _(b'cannot use --verify-optimized with --no-optimized') |
3402 ) | 3401 ) |
3403 stagenames = {n for n, f in stages} | 3402 stagenames = {n for n, f in stages} |
3404 | 3403 |
3405 showalways = set() | 3404 showalways = set() |
3406 showchanged = set() | 3405 showchanged = set() |
3407 if ui.verbose and not opts[b'show_stage']: | 3406 if ui.verbose and not opts['show_stage']: |
3408 # show parsed tree by --verbose (deprecated) | 3407 # show parsed tree by --verbose (deprecated) |
3409 showalways.add(b'parsed') | 3408 showalways.add(b'parsed') |
3410 showchanged.update([b'expanded', b'concatenated']) | 3409 showchanged.update([b'expanded', b'concatenated']) |
3411 if opts[b'optimize']: | 3410 if opts['optimize']: |
3412 showalways.add(b'optimized') | 3411 showalways.add(b'optimized') |
3413 if opts[b'show_stage'] and opts[b'optimize']: | 3412 if opts['show_stage'] and opts['optimize']: |
3414 raise error.Abort(_(b'cannot use --optimize with --show-stage')) | 3413 raise error.Abort(_(b'cannot use --optimize with --show-stage')) |
3415 if opts[b'show_stage'] == [b'all']: | 3414 if opts['show_stage'] == [b'all']: |
3416 showalways.update(stagenames) | 3415 showalways.update(stagenames) |
3417 else: | 3416 else: |
3418 for n in opts[b'show_stage']: | 3417 for n in opts['show_stage']: |
3419 if n not in stagenames: | 3418 if n not in stagenames: |
3420 raise error.Abort(_(b'invalid stage name: %s') % n) | 3419 raise error.Abort(_(b'invalid stage name: %s') % n) |
3421 showalways.update(opts[b'show_stage']) | 3420 showalways.update(opts['show_stage']) |
3422 | 3421 |
3423 treebystage = {} | 3422 treebystage = {} |
3424 printedtree = None | 3423 printedtree = None |
3425 tree = revsetlang.parse(expr, lookup=revset.lookupfn(repo)) | 3424 tree = revsetlang.parse(expr, lookup=revset.lookupfn(repo)) |
3426 for n, f in stages: | 3425 for n, f in stages: |
3427 treebystage[n] = tree = f(tree) | 3426 treebystage[n] = tree = f(tree) |
3428 if n in showalways or (n in showchanged and tree != printedtree): | 3427 if n in showalways or (n in showchanged and tree != printedtree): |
3429 if opts[b'show_stage'] or n != b'parsed': | 3428 if opts['show_stage'] or n != b'parsed': |
3430 ui.write(b"* %s:\n" % n) | 3429 ui.write(b"* %s:\n" % n) |
3431 ui.write(revsetlang.prettyformat(tree), b"\n") | 3430 ui.write(revsetlang.prettyformat(tree), b"\n") |
3432 printedtree = tree | 3431 printedtree = tree |
3433 | 3432 |
3434 if opts[b'verify_optimized']: | 3433 if opts['verify_optimized']: |
3435 arevs = revset.makematcher(treebystage[b'analyzed'])(repo) | 3434 arevs = revset.makematcher(treebystage[b'analyzed'])(repo) |
3436 brevs = revset.makematcher(treebystage[b'optimized'])(repo) | 3435 brevs = revset.makematcher(treebystage[b'optimized'])(repo) |
3437 if opts[b'show_set'] or (opts[b'show_set'] is None and ui.verbose): | 3436 if opts['show_set'] or (opts['show_set'] is None and ui.verbose): |
3438 ui.writenoi18n( | 3437 ui.writenoi18n( |
3439 b"* analyzed set:\n", stringutil.prettyrepr(arevs), b"\n" | 3438 b"* analyzed set:\n", stringutil.prettyrepr(arevs), b"\n" |
3440 ) | 3439 ) |
3441 ui.writenoi18n( | 3440 ui.writenoi18n( |
3442 b"* optimized set:\n", stringutil.prettyrepr(brevs), b"\n" | 3441 b"* optimized set:\n", stringutil.prettyrepr(brevs), b"\n" |
3460 ui.write(b' %d\n' % c) | 3459 ui.write(b' %d\n' % c) |
3461 return 1 | 3460 return 1 |
3462 | 3461 |
3463 func = revset.makematcher(tree) | 3462 func = revset.makematcher(tree) |
3464 revs = func(repo) | 3463 revs = func(repo) |
3465 if opts[b'show_set'] or (opts[b'show_set'] is None and ui.verbose): | 3464 if opts['show_set'] or (opts['show_set'] is None and ui.verbose): |
3466 ui.writenoi18n(b"* set:\n", stringutil.prettyrepr(revs), b"\n") | 3465 ui.writenoi18n(b"* set:\n", stringutil.prettyrepr(revs), b"\n") |
3467 if not opts[b'show_revs']: | 3466 if not opts['show_revs']: |
3468 return | 3467 return |
3469 for c in revs: | 3468 for c in revs: |
3470 ui.write(b"%d\n" % c) | 3469 ui.write(b"%d\n" % c) |
3471 | 3470 |
3472 | 3471 |