remote: local: protect uploaded files (#3858)

This commit is contained in:
Paweł Redzyński
2020-05-22 22:59:48 +03:00
committed by GitHub
parent 58c9ff0de2
commit d74358eecd
2 changed files with 15 additions and 0 deletions
+2
View File
@@ -298,6 +298,8 @@ class LocalRemote(BaseRemote):
copyfile(
from_file, tmp_file, name=name, no_progress_bar=no_progress_bar
)
self.protect(tmp_file)
os.rename(tmp_file, to_info)
def _download(
+13
View File
@@ -1,5 +1,6 @@
import errno
import os
import stat
import configobj
import pytest
@@ -355,3 +356,15 @@ def test_remote_default(dvc):
assert remote_name not in config.get("remote", {})
local_config = dvc.config.load_one("local")
assert local_config["core"]["remote"] == new_name
def test_protect_local_remote(tmp_dir, dvc, setup_remote):
setup_remote(dvc, name="upstream")
(stage,) = tmp_dir.dvc_gen("file", "file content")
dvc.push()
remote = dvc.cloud.get_remote("upstream")
remote_cache_file = remote.checksum_to_path_info(stage.outs[0].checksum)
assert os.path.exists(remote_cache_file)
assert stat.S_IMODE(os.stat(remote_cache_file).st_mode) == 0o444