Browse Source

import-tar: fix mtime type bug

looks like with a .tar file created by the tar tool,
tarinfo.mtime is a float [s]. So, after converting to
nanoseconds, we need to cast to int because that's what
Item.mtime wants.

also added a safe_ns() there to clip values to the safe range.
Thomas Waldmann 3 years ago
parent
commit
33192e5e5d
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/borg/archive.py

+ 1 - 1
src/borg/archive.py

@@ -1447,7 +1447,7 @@ class TarfileObjectProcessors:
     def create_helper(self, tarinfo, status=None, type=None):
         item = Item(path=make_path_safe(tarinfo.name), mode=tarinfo.mode | type,
                     uid=tarinfo.uid, gid=tarinfo.gid, user=tarinfo.uname or None, group=tarinfo.gname or None,
-                    mtime=tarinfo.mtime * 1000**3)
+                    mtime=safe_ns(int(tarinfo.mtime * 1000**3)))
         yield item, status
         # if we get here, "with"-block worked ok without error/exception, the item was processed ok...
         self.add_item(item, stats=self.stats)