| 
					
				 | 
			
			
				@@ -1789,7 +1789,7 @@ class Archiver: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           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)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subparser.set_defaults(fallback_func=functools.partial(self.do_subcommand_help, subparser)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         key_export_epilog = textwrap.dedent(""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         If repository encryption is used, the repository is inaccessible 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2611,7 +2611,7 @@ class Archiver: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           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)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        subparser.set_defaults(fallback_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 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2784,7 +2784,9 @@ class Archiver: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def run(self, args): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         os.umask(args.umask)  # early, before opening files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.lock_wait = args.lock_wait 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        setup_logging(level=args.log_level, is_serve=args.func == self.do_serve)  # do not use loggers before this! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # This works around http://bugs.python.org/issue9351 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        func = getattr(args, 'func', None) or getattr(args, 'fallback_func') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setup_logging(level=args.log_level, is_serve=func == self.do_serve)  # do not use loggers before this! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self._setup_implied_logging(vars(args)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self._setup_topic_debugging(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if args.show_version: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2792,7 +2794,7 @@ class Archiver: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         self.prerun_checks(logger) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if is_slow_msgpack(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.warning("Using a pure-python msgpack! This will result in lower performance.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return args.func(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return func(args) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def sig_info_handler(sig_no, stack):  # pragma: no cover 
			 |