mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
RepoTree: preserve relative paths in copytree() (#4133)
This commit is contained in:
+3
-2
@@ -428,11 +428,12 @@ class RepoTree(BaseTree):
|
||||
|
||||
for root, _, files in self.walk(top):
|
||||
root = PathInfo(root)
|
||||
makedirs(dest, exist_ok=True)
|
||||
dest_dir = dest / root.relative_to(top)
|
||||
makedirs(dest_dir, exist_ok=True)
|
||||
for fname in files:
|
||||
src = root / fname
|
||||
with self.open(src, mode="rb") as fobj:
|
||||
copy_fobj_to_file(fobj, dest / fname)
|
||||
copy_fobj_to_file(fobj, dest_dir / fname)
|
||||
|
||||
@property
|
||||
def hash_jobs(self):
|
||||
|
||||
@@ -55,7 +55,9 @@ def test_get_git_dir(tmp_dir, erepo):
|
||||
src = "some_directory"
|
||||
dst = "some_directory_imported"
|
||||
|
||||
erepo.scm_gen({src: {"file.txt": "hello"}}, commit="add a regular dir")
|
||||
erepo.scm_gen(
|
||||
{src: {"dir": {"file.txt": "hello"}}}, commit="add a regular dir"
|
||||
)
|
||||
|
||||
Repo.get(os.fspath(erepo), src, dst)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user