浏览代码

recreate: keep timestamps as in original archive, fixes #2384 (#2607)

the timestamps of the recreated archive (in the archive metadata and
also in the manifest) are now as they were for the original archive.

they are important metadata about the archive contents and should
therefore be kept "as is".

note: when using -v --stats, the timestamps shown there for recreate
      are about the recreate start/end/duration.
TW 8 年之前
父节点
当前提交
50bcd7843d
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      src/borg/archive.py

+ 5 - 2
src/borg/archive.py

@@ -1699,11 +1699,14 @@ class ArchiveRecreater:
     def save(self, archive, target, comment=None, replace_original=True):
         if self.dry_run:
             return
-        timestamp = archive.ts.replace(tzinfo=None)
         if comment is None:
             comment = archive.metadata.get('comment', '')
-        target.save(timestamp=timestamp, comment=comment, additional_metadata={
+        target.save(comment=comment, additional_metadata={
+            # keep some metadata as in original archive:
+            'time': archive.metadata.time,
+            'time_end': archive.metadata.time_end,
             'cmdline': archive.metadata.cmdline,
+            # but also remember recreate metadata:
             'recreate_cmdline': sys.argv,
         })
         if replace_original: