conditional warning for excluding special files

This commit is contained in:
palto42 2023-01-03 21:44:36 +01:00
parent 6f3b23c79d
commit fd7ad86daa
Signed by untrusted user who does not match committer: palto42
GPG Key ID: 4BD553D7E5098852
2 changed files with 12 additions and 13 deletions

View File

@ -430,18 +430,17 @@ def create_archive(
borg_environment,
skip_directories=borgmatic_source_directories,
)
logger.warning(
f'{repository}: Excluding special files to prevent Borg from hanging: {", ".join(special_file_paths)}'
)
exclude_file = write_pattern_file(
expand_home_directories(
tuple(location_config.get('exclude_patterns') or ()) + special_file_paths
),
pattern_file=exclude_file,
)
if exclude_file:
if special_file_paths:
logger.warning(
f'{repository}: Excluding special files to prevent Borg from hanging: {", ".join(special_file_paths)}'
)
exclude_file = write_pattern_file(
expand_home_directories(
tuple(location_config.get('exclude_patterns') or ()) + special_file_paths
),
pattern_file=exclude_file,
)
create_command += make_exclude_flags(location_config, exclude_file.name)
create_command += (

View File

@ -1790,7 +1790,7 @@ def test_create_archive_with_stream_processes_ignores_read_special_false_and_log
flexmock(module).should_receive('pattern_root_directories').and_return([])
flexmock(module.os.path).should_receive('expanduser').and_raise(TypeError)
flexmock(module).should_receive('expand_home_directories').and_return(())
flexmock(module).should_receive('write_pattern_file').and_return(None)
flexmock(module).should_receive('write_pattern_file').and_return(flexmock(name='/tmp/excludes'))
flexmock(module.feature).should_receive('available').and_return(True)
flexmock(module).should_receive('ensure_files_readable')
flexmock(module.logger).should_receive('warning').twice()
@ -1800,7 +1800,7 @@ def test_create_archive_with_stream_processes_ignores_read_special_false_and_log
(f'repo::{DEFAULT_ARCHIVE_NAME}',)
)
flexmock(module.environment).should_receive('make_environment')
flexmock(module).should_receive('collect_special_file_paths').and_return(())
flexmock(module).should_receive('collect_special_file_paths').and_return(("/dev/null",))
create_command = (
'borg',
'create',