docs: def save_file(self, srcfile):
          """
          Save a (raw) file to the store.
          """
          filehash = digest_file(srcfile)
          if not os.path.exists(self.object_path(filehash)):
              # Copy the file to a temporary location first, then move, to make sure we don't end up with
              # truncated contents if the build gets interrupted.
              tmppath = self.temporary_object_path(filehash)
              copyfile(srcfile, tmppath)
              self._move_to_store(tmppath, filehash)
  
          return filehash