From a7c0f6ef398dfd90ffabe8ed5edce2237c473b36 Mon Sep 17 00:00:00 2001 From: Sigurd Spieckermann <2206639+sisp@users.noreply.github.com> Date: Fri, 3 May 2024 17:58:53 +0200 Subject: [PATCH] import/get: optimize LFS prefetching (#10414) --- dvc/fs/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dvc/fs/__init__.py b/dvc/fs/__init__.py index 98464e590..b37731c97 100644 --- a/dvc/fs/__init__.py +++ b/dvc/fs/__init__.py @@ -69,7 +69,9 @@ def download( to_infos = [to] if isinstance(fs, DVCFileSystem): - lfs_prefetch(fs, from_infos) + lfs_prefetch( + fs, [f"{fs.normpath(fs_path)}/**" if fs.isdir(fs_path) else fs_path] + ) cb.set_size(len(from_infos)) jobs = jobs or fs.jobs generic.copy(fs, from_infos, localfs, to_infos, callback=cb, batch_size=jobs)