瀏覽代碼

Fix regression of generate-borgmatic-config working without --source flag (#239).

Dan Helfman 5 年之前
父節點
當前提交
ac777965d0
共有 2 個文件被更改,包括 11 次插入0 次删除
  1. 2 0
      borgmatic/config/generate.py
  2. 9 0
      tests/unit/config/test_generate.py

+ 2 - 0
borgmatic/config/generate.py

@@ -230,6 +230,8 @@ def merge_source_configuration_into_destination(destination_config, source_confi
     new
     new
     configuration keys and comments.
     configuration keys and comments.
     '''
     '''
+    if not source_config:
+        return destination_config
     if not destination_config or not isinstance(source_config, collections.abc.Mapping):
     if not destination_config or not isinstance(source_config, collections.abc.Mapping):
         return source_config
         return source_config
 
 

+ 9 - 0
tests/unit/config/test_generate.py

@@ -123,3 +123,12 @@ def test_merge_source_configuration_into_destination_inserts_sequence_of_maps():
         'foo': [{'first': 'source1', 'second': 'dest2'}, {'other': 'source2'}],
         'foo': [{'first': 'source1', 'second': 'dest2'}, {'other': 'source2'}],
         'bar': 'dest3',
         'bar': 'dest3',
     }
     }
+
+
+def test_merge_source_configuration_into_destination_without_source_does_nothing():
+    original_destination_config = {'foo': 'dest1', 'bar': 'dest2'}
+    destination_config = dict(original_destination_config)
+
+    module.merge_source_configuration_into_destination(destination_config, None)
+
+    assert destination_config == original_destination_config