Disallow the "--dry-run" flag with the "borg" action (#774).
This commit is contained in:
parent
dccaa4014b
commit
257ab77bea
3 changed files with 18 additions and 0 deletions
2
NEWS
2
NEWS
|
@ -5,6 +5,8 @@
|
||||||
* #768: Fix a traceback when an invalid command-line flag or action is used.
|
* #768: Fix a traceback when an invalid command-line flag or action is used.
|
||||||
* #771: Fix normalization of deprecated sections ("location:", "storage:", "hooks:", etc.) to
|
* #771: Fix normalization of deprecated sections ("location:", "storage:", "hooks:", etc.) to
|
||||||
support empty sections without erroring.
|
support empty sections without erroring.
|
||||||
|
* #774: Disallow the "--dry-run" flag with the "borg" action, as borgmatic can't guarantee the Borg
|
||||||
|
command won't have side effects.
|
||||||
|
|
||||||
1.8.3
|
1.8.3
|
||||||
* #665: BREAKING: Simplify logging logic as follows: Syslog verbosity is now disabled by
|
* #665: BREAKING: Simplify logging logic as follows: Syslog verbosity is now disabled by
|
||||||
|
|
|
@ -1328,4 +1328,7 @@ def parse_arguments(*unparsed_arguments):
|
||||||
'With the info action, only one of --archive, --prefix, or --match-archives flags can be used.'
|
'With the info action, only one of --archive, --prefix, or --match-archives flags can be used.'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if 'borg' in arguments and arguments['global'].dry_run:
|
||||||
|
raise ValueError('With the borg action, --dry-run is not supported.')
|
||||||
|
|
||||||
return arguments
|
return arguments
|
||||||
|
|
|
@ -622,3 +622,16 @@ def test_parse_arguments_config_with_subaction_and_explicit_config_file_does_not
|
||||||
module.parse_arguments(
|
module.parse_arguments(
|
||||||
'config', 'bootstrap', '--repository', 'repo.borg', '--config', 'test.yaml'
|
'config', 'bootstrap', '--repository', 'repo.borg', '--config', 'test.yaml'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_parse_arguments_with_borg_action_and_dry_run_raises():
|
||||||
|
flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])
|
||||||
|
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
module.parse_arguments('--dry-run', 'borg', 'list')
|
||||||
|
|
||||||
|
|
||||||
|
def test_parse_arguments_with_borg_action_and_no_dry_run_does_not_raise():
|
||||||
|
flexmock(module.collect).should_receive('get_default_config_paths').and_return(['default'])
|
||||||
|
|
||||||
|
module.parse_arguments('borg', 'list')
|
||||||
|
|
Loading…
Reference in a new issue