Merge pull request #7074 from ThomasWaldmann/fix-nfiles-master

archive.save(): always use metadata from stats, fixes #7072
This commit is contained in:
TW 2022-10-08 19:59:09 +02:00 committed by GitHub
commit 349b4905ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 14 deletions

View file

@ -653,15 +653,18 @@ Duration: {0.duration}
"time_end": end.isoformat(timespec="microseconds"),
"chunker_params": self.chunker_params,
}
if stats is not None:
metadata.update(
{
"size": stats.osize,
"nfiles": stats.nfiles,
"size_parts": stats.osize_parts,
"nfiles_parts": stats.nfiles_parts,
}
)
# we always want to create archives with the addtl. metadata (nfiles, etc.),
# because borg info relies on them. so, either use the given stats (from args)
# or fall back to self.stats if it was not given.
stats = stats or self.stats
metadata.update(
{
"size": stats.osize,
"nfiles": stats.nfiles,
"size_parts": stats.osize_parts,
"nfiles_parts": stats.nfiles_parts,
}
)
metadata.update(additional_metadata or {})
metadata = ArchiveItem(metadata)
data = self.key.pack_and_authenticate_metadata(metadata.as_dict(), context=b"archive")
@ -2320,9 +2323,7 @@ class ArchiveRecreater:
"recreate_cmdline": sys.argv,
}
target.save(
comment=comment, timestamp=self.timestamp, stats=target.stats, additional_metadata=additional_metadata
)
target.save(comment=comment, timestamp=self.timestamp, additional_metadata=additional_metadata)
if replace_original:
archive.delete(Statistics(), progress=self.progress)
target.rename(archive.name)

View file

@ -190,7 +190,7 @@ class CreateMixIn:
# we already have a checkpoint archive in this case.
self.print_error("Got Ctrl-C / SIGINT.")
else:
archive.save(comment=args.comment, timestamp=args.timestamp, stats=archive.stats)
archive.save(comment=args.comment, timestamp=args.timestamp)
args.stats |= args.json
if args.stats:
if args.json:

View file

@ -100,7 +100,7 @@ class TransferMixIn:
archive.add_item(upgrader.upgrade_item(item=item))
if not dry_run:
additional_metadata = upgrader.upgrade_archive_metadata(metadata=other_archive.metadata)
archive.save(stats=archive.stats, additional_metadata=additional_metadata)
archive.save(additional_metadata=additional_metadata)
print(
f"{name}: finished. "
f"transfer_size: {format_file_size(transfer_size)} "