mirror of
https://github.com/borgmatic-collective/borgmatic.git
synced 2026-07-31 21:53:01 +02:00
63 lines
1.5 KiB
Python
63 lines
1.5 KiB
Python
import logging
|
|
|
|
import borgmatic.actions.pattern
|
|
import borgmatic.borg.diff
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def run_diff(
|
|
repository,
|
|
config,
|
|
local_borg_version,
|
|
diff_arguments,
|
|
global_arguments,
|
|
local_path,
|
|
remote_path,
|
|
):
|
|
'''
|
|
Run the "diff" action for the given repository.
|
|
'''
|
|
|
|
# Only process patterns if only_patterns flag is set
|
|
if diff_arguments.only_patterns:
|
|
processed_patterns = borgmatic.actions.pattern.process_patterns(
|
|
(*borgmatic.actions.pattern.collect_patterns(config),),
|
|
config,
|
|
borgmatic.config.paths.get_working_directory(config),
|
|
)
|
|
else:
|
|
processed_patterns = None
|
|
|
|
archive = borgmatic.borg.repo_list.resolve_archive_name(
|
|
repository['path'],
|
|
diff_arguments.archive,
|
|
config,
|
|
local_borg_version,
|
|
global_arguments,
|
|
local_path,
|
|
remote_path,
|
|
)
|
|
second_archive = borgmatic.borg.repo_list.resolve_archive_name(
|
|
repository['path'],
|
|
diff_arguments.second_archive,
|
|
config,
|
|
local_borg_version,
|
|
global_arguments,
|
|
local_path,
|
|
remote_path,
|
|
)
|
|
|
|
borgmatic.borg.diff.diff(
|
|
repository['path'],
|
|
archive,
|
|
second_archive,
|
|
config,
|
|
local_borg_version,
|
|
diff_arguments,
|
|
global_arguments,
|
|
local_path=local_path,
|
|
remote_path=remote_path,
|
|
patterns=processed_patterns,
|
|
)
|