~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/option.py

(jameinel) Allow 'bzr serve' to interpret SIGHUP as a graceful shutdown.
 (bug #795025) (John A Meinel)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
# TODO: For things like --diff-prefix, we want a way to customize the display
18
18
# of the option argument.
19
19
 
20
 
from __future__ import absolute_import
21
 
 
22
20
import optparse
23
21
import re
24
22
 
477
475
    Option.STD_OPTIONS[name] = Option(name, **kwargs)
478
476
    Option.OPTIONS[name] = Option.STD_OPTIONS[name]
479
477
 
480
 
def _standard_list_option(name, **kwargs):
481
 
    """Register a standard option."""
482
 
    # All standard options are implicitly 'global' ones
483
 
    Option.STD_OPTIONS[name] = ListOption(name, **kwargs)
484
 
    Option.OPTIONS[name] = Option.STD_OPTIONS[name]
485
 
 
486
478
 
487
479
def _global_option(name, **kwargs):
488
480
    """Register a global option."""
521
513
            _verbosity_level = -1
522
514
 
523
515
 
 
516
class MergeTypeRegistry(_mod_registry.Registry):
 
517
 
 
518
    pass
 
519
 
 
520
 
 
521
_merge_type_registry = MergeTypeRegistry()
 
522
_merge_type_registry.register_lazy('diff3', 'bzrlib.merge', 'Diff3Merger',
 
523
                                   "Merge using external diff3")
 
524
_merge_type_registry.register_lazy('lca', 'bzrlib.merge', 'LCAMerger',
 
525
                                   "LCA-newness merge")
 
526
_merge_type_registry.register_lazy('merge3', 'bzrlib.merge', 'Merge3Merger',
 
527
                                   "Native diff3-style merge")
 
528
_merge_type_registry.register_lazy('weave', 'bzrlib.merge', 'WeaveMerger',
 
529
                                   "Weave-based merge")
 
530
 
524
531
# Declare the standard options
525
532
_standard_option('help', short_name='h',
526
533
                 help='Show help message.')
527
 
_standard_option('quiet', short_name='q',
528
 
                 help="Only display errors and warnings.",
529
 
                 custom_callback=_verbosity_level_callback)
530
534
_standard_option('usage',
531
535
                 help='Show usage message and options.')
532
536
_standard_option('verbose', short_name='v',
533
537
                 help='Display more information.',
534
538
                 custom_callback=_verbosity_level_callback)
 
539
_standard_option('quiet', short_name='q',
 
540
                 help="Only display errors and warnings.",
 
541
                 custom_callback=_verbosity_level_callback)
535
542
 
536
543
# Declare commonly used options
 
544
_global_option('all')
 
545
_global_option('basis', type=str)
 
546
_global_option('bound')
537
547
_global_option('change',
538
548
               type=_parse_change_str,
539
549
               short_name='c',
540
550
               param_name='revision',
541
551
               help='Select changes introduced by the specified revision. See also "help revisionspec".')
 
552
_global_option('diff-options', type=str)
542
553
_global_option('directory', short_name='d', type=unicode,
543
 
               help='Branch to operate on, instead of working directory.')
 
554
               help='Branch to operate on, instead of working directory')
 
555
_global_option('dry-run',
 
556
               help="Show what would be done, but don't actually do anything.")
 
557
_global_option('email')
544
558
_global_option('file', type=unicode, short_name='F')
 
559
_global_option('force')
 
560
_global_option('format', type=unicode)
 
561
_global_option('forward')
 
562
_global_option('kind', type=str)
 
563
_global_option('line', help='Use log format with one line per revision.'
 
564
               ' Same as --log-format line')
545
565
_global_registry_option('log-format', "Use specified log format.",
546
566
                        lazy_registry=('bzrlib.log', 'log_formatter_registry'),
547
567
                        value_switches=True, title='Log format',
548
568
                        short_value_switches={'short': 'S'})
 
569
_global_option('long', help='Use detailed log format.'
 
570
               ' Same as --log-format long',
 
571
               short_name='l')
549
572
_global_registry_option('merge-type', 'Select a particular merge algorithm.',
550
 
                        lazy_registry=('bzrlib.merge', 'merge_type_registry'),
551
 
                        value_switches=True, title='Merge algorithm')
 
573
                        _merge_type_registry, value_switches=True,
 
574
                        title='Merge algorithm')
552
575
_global_option('message', type=unicode,
553
576
               short_name='m',
554
577
               help='Message string.')
 
578
_global_option('name-from-revision', help='The path name in the old tree.')
 
579
_global_option('no-backup')
 
580
_global_option('no-recurse')
555
581
_global_option('null', short_name='0',
556
582
                 help='Use an ASCII NUL (\\0) separator rather than '
557
583
                      'a newline.')
558
584
_global_option('overwrite', help='Ignore differences between branches and '
559
585
               'overwrite unconditionally.')
 
586
_global_option('pattern', type=str)
 
587
_global_option('profile',
 
588
               help='Show performance profiling information.')
 
589
_global_option('reprocess', help='Reprocess to reduce spurious conflicts.')
560
590
_global_option('remember', help='Remember the specified location as a'
561
591
               ' default.')
562
 
_global_option('reprocess', help='Reprocess to reduce spurious conflicts.')
563
592
_global_option('revision',
564
593
               type=_parse_revision_str,
565
594
               short_name='r',
566
595
               help='See "help revisionspec" for details.')
 
596
_global_option('short', help='Use moderately short log format.'
 
597
               ' Same as --log-format short')
567
598
_global_option('show-ids',
568
599
               help='Show internal object ids.')
569
600
_global_option('timezone',
570
601
               type=str,
571
602
               help='Display timezone as local, original, or utc.')
 
603
_global_option('root', type=str)
 
604
_global_option('unbound')
 
605
_global_option('update')
 
606
_global_option('version')
572
607
 
573
608
diff_writer_registry = _mod_registry.Registry()
574
609
diff_writer_registry.register('plain', lambda x: x, 'Plaintext diff output.')