mirror of
https://github.com/borgbackup/borg.git
synced 2024-12-24 00:37:56 +00:00
add a borg debug/key dummy command, fixes #1932
the problem was that there neither was a do_debug implementation for the case someone just enters "borg debug", nor did the parser inherit from common_parser (so accessing .umask triggered an exception before setup_logging() was called, which triggered another exception when log output should have been emitted). same for do_key ("borg key"). added a generic handler that just prints the subcommand help.
This commit is contained in:
parent
d13854853c
commit
5a40870416
1 changed files with 9 additions and 2 deletions
|
@ -992,6 +992,11 @@ def do_help(self, parser, commands, args):
|
|||
parser.error('No help available on %s' % (args.topic,))
|
||||
return self.exit_code
|
||||
|
||||
def do_subcommand_help(self, parser, args):
|
||||
"""display infos about subcommand"""
|
||||
parser.print_help()
|
||||
return EXIT_SUCCESS
|
||||
|
||||
def preprocess_args(self, args):
|
||||
deprecations = [
|
||||
# ('--old', '--new', 'Warning: "--old" has been deprecated. Use "--new" instead.'),
|
||||
|
@ -1148,13 +1153,14 @@ def build_parser(self, args=None, prog=None):
|
|||
subparser.add_argument('location', metavar='REPOSITORY', nargs='?', default='',
|
||||
type=location_validator(archive=False))
|
||||
|
||||
subparser = subparsers.add_parser('key',
|
||||
subparser = subparsers.add_parser('key', parents=[common_parser],
|
||||
description="Manage a keyfile or repokey of a repository",
|
||||
epilog="",
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
help='manage repository key')
|
||||
|
||||
key_parsers = subparser.add_subparsers(title='required arguments', metavar='<command>')
|
||||
subparser.set_defaults(func=functools.partial(self.do_subcommand_help, subparser))
|
||||
|
||||
key_export_epilog = textwrap.dedent("""
|
||||
If repository encryption is used, the repository is inaccessible
|
||||
|
@ -1681,13 +1687,14 @@ def build_parser(self, args=None, prog=None):
|
|||
in case you ever run into some severe malfunction. Use them only if you know
|
||||
what you are doing or if a trusted developer tells you what to do.""")
|
||||
|
||||
subparser = subparsers.add_parser('debug',
|
||||
subparser = subparsers.add_parser('debug', parents=[common_parser],
|
||||
description='debugging command (not intended for normal use)',
|
||||
epilog=debug_epilog,
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
help='debugging command (not intended for normal use)')
|
||||
|
||||
debug_parsers = subparser.add_subparsers(title='required arguments', metavar='<command>')
|
||||
subparser.set_defaults(func=functools.partial(self.do_subcommand_help, subparser))
|
||||
|
||||
debug_info_epilog = textwrap.dedent("""
|
||||
This command displays some system information that might be useful for bug
|
||||
|
|
Loading…
Reference in a new issue