瀏覽代碼

move RemoteRepository defaults to the class

the reasoning behind this is that we may need to test a
RemoteRepository setup outside of the main archiver routines, which
the current default location makes impossible

by moving the umask and remote_path remotes into the RemoteRepository
the (reasonable) defaults are available regardless of the (currently
obscure) initialisation routine, and make unit tests easier to develop
and support
Antoine Beaupré 10 年之前
父節點
當前提交
de2a811606
共有 2 個文件被更改,包括 7 次插入6 次删除
  1. 4 4
      borg/archiver.py
  2. 3 2
      borg/remote.py

+ 4 - 4
borg/archiver.py

@@ -571,10 +571,10 @@ Type "Yes I am sure" if you understand this and want to continue.\n""")
                                    help='verbose output')
                                    help='verbose output')
         common_parser.add_argument('--no-files-cache', dest='cache_files', action='store_false',
         common_parser.add_argument('--no-files-cache', dest='cache_files', action='store_false',
                                    help='do not load/update the file metadata cache used to detect unchanged files')
                                    help='do not load/update the file metadata cache used to detect unchanged files')
-        common_parser.add_argument('--umask', dest='umask', type=lambda s: int(s, 8), default=0o077, metavar='M',
-                                   help='set umask to M (local and remote, default: 0o077)')
-        common_parser.add_argument('--remote-path', dest='remote_path', default='borg', metavar='PATH',
-                                   help='set remote path to executable (default: "borg")')
+        common_parser.add_argument('--umask', dest='umask', type=lambda s: int(s, 8), default=RemoteRepository.umask, metavar='M',
+                                   help='set umask to M (local and remote, default: %(default)s)')
+        common_parser.add_argument('--remote-path', dest='remote_path', default=RemoteRepository.remote_path, metavar='PATH',
+                                   help='set remote path to executable (default: "%(default)s")')
 
 
         # We can't use argparse for "serve" since we don't want it to show up in "Available commands"
         # We can't use argparse for "serve" since we don't want it to show up in "Available commands"
         if args:
         if args:

+ 3 - 2
borg/remote.py

@@ -108,8 +108,9 @@ class RepositoryServer:  # pragma: no cover
 
 
 class RemoteRepository:
 class RemoteRepository:
     extra_test_args = []
     extra_test_args = []
-    remote_path = None
-    umask = None
+    remote_path = 'borg'
+    # default umask, overriden by --umask, defaults to read/write only for owner
+    umask = 0o077
 
 
     class RPCError(Exception):
     class RPCError(Exception):
         def __init__(self, name):
         def __init__(self, name):