From 7ad25ba9e28ee71751c343f111bcdf0ec0b60e8a Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Fri, 3 Feb 2023 01:31:08 +0100 Subject: [PATCH] transfer: support --progress --- src/borg/archiver/transfer_cmd.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/borg/archiver/transfer_cmd.py b/src/borg/archiver/transfer_cmd.py index 9ec203b12..c5a7951d3 100644 --- a/src/borg/archiver/transfer_cmd.py +++ b/src/borg/archiver/transfer_cmd.py @@ -86,7 +86,9 @@ class TransferMixIn: if not dry_run: print(f"{name}: copying archive to destination repo...") other_archive = Archive(other_manifest, name) - archive = Archive(manifest, name, cache=cache, create=True) if not dry_run else None + archive = ( + Archive(manifest, name, cache=cache, create=True, progress=args.progress) if not dry_run else None + ) upgrader.new_archive(archive=archive) for item in other_archive.iter_items(): is_part = bool(item.get("part", False)) @@ -130,7 +132,10 @@ class TransferMixIn: item.chunks = chunks # TODO: overwrite? IDs and sizes are same. archive.stats.nfiles += 1 if not dry_run: - archive.add_item(upgrader.upgrade_item(item=item)) + item = upgrader.upgrade_item(item=item) + archive.add_item(item, show_progress=args.progress) + if args.progress: + archive.stats.show_progress(final=True) if not dry_run: additional_metadata = upgrader.upgrade_archive_metadata(metadata=other_archive.metadata) archive.save(additional_metadata=additional_metadata)