mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-05 07:18:35 +01:00
* erepo: dvc: implement `update` for imports from ext repos Fixes #1774 Fixes #2139 Fixes #2201 Signed-off-by: Ruslan Kuprieiev <[email protected]> * deps: repo: make private Signed-off-by: Ruslan Kuprieiev <[email protected]> * update: only support repo imports Signed-off-by: Ruslan Kuprieiev <[email protected]>
43 lines
968 B
Python
43 lines
968 B
Python
import os
|
|
|
|
from dvc.repo import Repo
|
|
|
|
|
|
def test_update_import(dvc_repo, erepo):
|
|
src = "version"
|
|
dst = src
|
|
|
|
stage = dvc_repo.imp(erepo.root_dir, src, dst, rev="branch")
|
|
|
|
assert os.path.exists(dst)
|
|
assert os.path.isfile(dst)
|
|
with open(dst, "r+") as fobj:
|
|
assert fobj.read() == "branch"
|
|
|
|
# update data
|
|
repo = Repo(erepo.root_dir)
|
|
|
|
saved_dir = os.getcwd()
|
|
os.chdir(erepo.root_dir)
|
|
|
|
repo.scm.checkout("branch")
|
|
os.unlink("version")
|
|
erepo.create("version", "updated")
|
|
repo.add("version")
|
|
repo.scm.add([".gitignore", "version.dvc"])
|
|
repo.scm.commit("updated")
|
|
repo.scm.checkout("master")
|
|
|
|
repo.scm.git.close()
|
|
|
|
os.chdir(saved_dir)
|
|
|
|
assert dvc_repo.status(stage.path) == {}
|
|
dvc_repo.update(stage.path)
|
|
assert dvc_repo.status(stage.path) == {}
|
|
|
|
assert os.path.exists(dst)
|
|
assert os.path.isfile(dst)
|
|
with open(dst, "r+") as fobj:
|
|
assert fobj.read() == "updated"
|