Browse Source

Merge pull request #1953 from ThomasWaldmann/fix-1932

add a borg debug/key dummy command, fixes #1932
TW 8 years ago
parent
commit
7f63ca8922
1 changed files with 9 additions and 2 deletions
  1. 9 2
      borg/archiver.py

+ 9 - 2
borg/archiver.py

@@ -992,6 +992,11 @@ class Archiver:
             parser.error('No help available on %s' % (args.topic,))
             parser.error('No help available on %s' % (args.topic,))
         return self.exit_code
         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):
     def preprocess_args(self, args):
         deprecations = [
         deprecations = [
             # ('--old', '--new', 'Warning: "--old" has been deprecated. Use "--new" instead.'),
             # ('--old', '--new', 'Warning: "--old" has been deprecated. Use "--new" instead.'),
@@ -1148,13 +1153,14 @@ class Archiver:
         subparser.add_argument('location', metavar='REPOSITORY', nargs='?', default='',
         subparser.add_argument('location', metavar='REPOSITORY', nargs='?', default='',
                                type=location_validator(archive=False))
                                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",
                                           description="Manage a keyfile or repokey of a repository",
                                           epilog="",
                                           epilog="",
                                           formatter_class=argparse.RawDescriptionHelpFormatter,
                                           formatter_class=argparse.RawDescriptionHelpFormatter,
                                           help='manage repository key')
                                           help='manage repository key')
 
 
         key_parsers = subparser.add_subparsers(title='required arguments', metavar='<command>')
         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("""
         key_export_epilog = textwrap.dedent("""
         If repository encryption is used, the repository is inaccessible
         If repository encryption is used, the repository is inaccessible
@@ -1681,13 +1687,14 @@ class Archiver:
         in case you ever run into some severe malfunction. Use them only if you know
         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.""")
         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)',
                                           description='debugging command (not intended for normal use)',
                                           epilog=debug_epilog,
                                           epilog=debug_epilog,
                                           formatter_class=argparse.RawDescriptionHelpFormatter,
                                           formatter_class=argparse.RawDescriptionHelpFormatter,
                                           help='debugging command (not intended for normal use)')
                                           help='debugging command (not intended for normal use)')
 
 
         debug_parsers = subparser.add_subparsers(title='required arguments', metavar='<command>')
         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("""
         debug_info_epilog = textwrap.dedent("""
         This command displays some system information that might be useful for bug
         This command displays some system information that might be useful for bug