Переглянути джерело

Default "prefix" to "{hostname}-" if not specified.

Dan 7 роки тому
батько
коміт
f495550ad7

+ 2 - 1
NEWS

@@ -3,7 +3,8 @@
  * #33: Improve clarity of logging spew at high verbosity levels.
  * #33: Improve clarity of logging spew at high verbosity levels.
  * #29: Support for using tilde in source directory path to reference home directory.
  * #29: Support for using tilde in source directory path to reference home directory.
  * Require "prefix" in retention section when "archive_name_format" is set. This is to avoid
  * Require "prefix" in retention section when "archive_name_format" is set. This is to avoid
-   accidental pruning of archives with a different archive name format.
+   accidental pruning of archives with a different archive name format. For similar reasons, default
+   "prefix" to "{hostname}-" if not specified.
  * Convert main source repository from Mercurial to Git.
  * Convert main source repository from Mercurial to Git.
  * Update dead links to Borg documentation.
  * Update dead links to Borg documentation.
 
 

+ 3 - 0
borgmatic/borg/prune.py

@@ -19,6 +19,9 @@ def _make_prune_flags(retention_config):
             ('--keep-monthly', '6'),
             ('--keep-monthly', '6'),
         )
         )
     '''
     '''
+    if not retention_config.get('prefix'):
+        retention_config['prefix'] = '{hostname}-'
+
     return (
     return (
         ('--' + option_name.replace('_', '-'), str(retention_config[option_name]))
         ('--' + option_name.replace('_', '-'), str(retention_config[option_name]))
         for option_name, value in retention_config.items()
         for option_name, value in retention_config.items()

+ 1 - 1
borgmatic/config/schema.yaml

@@ -132,7 +132,7 @@ map:
                 desc: |
                 desc: |
                     When pruning, only consider archive names starting with this prefix.
                     When pruning, only consider archive names starting with this prefix.
                     Borg placeholders can be used. See the output of "borg help placeholders" for
                     Borg placeholders can be used. See the output of "borg help placeholders" for
-                    details.
+                    details. Default is "{hostname}-".
                 example: sourcehostname
                 example: sourcehostname
     consistency:
     consistency:
         desc: |
         desc: |

+ 2 - 2
borgmatic/tests/unit/borg/test_prune.py

@@ -18,7 +18,7 @@ BASE_PRUNE_FLAGS = (
 )
 )
 
 
 
 
-def test_make_prune_flags_should_return_flags_from_config():
+def test_make_prune_flags_should_return_flags_from_config_plus_default_prefix():
     retention_config = OrderedDict(
     retention_config = OrderedDict(
         (
         (
             ('keep_daily', 1),
             ('keep_daily', 1),
@@ -29,7 +29,7 @@ def test_make_prune_flags_should_return_flags_from_config():
 
 
     result = module._make_prune_flags(retention_config)
     result = module._make_prune_flags(retention_config)
 
 
-    assert tuple(result) == BASE_PRUNE_FLAGS
+    assert tuple(result) == BASE_PRUNE_FLAGS + (('--prefix', '{hostname}-'),)
 
 
 
 
 def test_make_prune_flags_accepts_prefix_with_placeholders():
 def test_make_prune_flags_accepts_prefix_with_placeholders():