From d57bb23c930bee47cec86d226e1e1fae2f4152ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Saugat=20Pachhai=20=28=E0=A4=B8=E0=A5=8C=E0=A4=97=E0=A4=BE?= =?UTF-8?q?=E0=A4=A4=29?= Date: Thu, 1 Dec 2022 13:35:18 +0545 Subject: [PATCH] fix windows path handling --- dvc/repo/metrics/show.py | 15 ++++++++++----- dvc/repo/params/show.py | 15 ++++++++++----- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/dvc/repo/metrics/show.py b/dvc/repo/metrics/show.py index 93168fcb8..82ca5cfa4 100644 --- a/dvc/repo/metrics/show.py +++ b/dvc/repo/metrics/show.py @@ -9,7 +9,12 @@ from dvc.output import Output from dvc.repo import locked from dvc.repo.collect import StrPaths, collect from dvc.scm import NoSCMError -from dvc.utils import error_handler, errored_revisions, onerror_collect +from dvc.utils import ( + as_posix, + error_handler, + errored_revisions, + onerror_collect, +) from dvc.utils.collections import ensure_list from dvc.utils.serialize import load_path @@ -31,12 +36,12 @@ def _to_fs_paths(metrics: List[Output]) -> StrPaths: def _collect_top_level_metrics(repo): top_metrics = repo.index._top_metrics # pylint: disable=protected-access for dvcfile, metrics in top_metrics.items(): - wdir = repo.dvcfs.path.relpath( - repo.dvcfs.path.parent(dvcfile), repo.root_dir + wdir = repo.fs.path.relpath( + repo.fs.path.parent(dvcfile), repo.root_dir ) for file in metrics: - path = repo.dvcfs.path.join(wdir, file) - yield repo.dvcfs.path.normpath(path) + path = repo.fs.path.join(wdir, as_posix(file)) + yield repo.fs.path.normpath(path) def _collect_metrics(repo, targets, revision, recursive): diff --git a/dvc/repo/params/show.py b/dvc/repo/params/show.py index 685d3cef8..f4a9b48c3 100644 --- a/dvc/repo/params/show.py +++ b/dvc/repo/params/show.py @@ -20,7 +20,12 @@ from dvc.repo.collect import collect from dvc.scm import NoSCMError from dvc.stage import PipelineStage from dvc.ui import ui -from dvc.utils import error_handler, errored_revisions, onerror_collect +from dvc.utils import ( + as_posix, + error_handler, + errored_revisions, + onerror_collect, +) from dvc.utils.collections import ensure_list from dvc.utils.serialize import load_path @@ -38,12 +43,12 @@ def _is_params(dep: "Output"): def _collect_top_level_params(repo): top_params = repo.index._top_params # pylint: disable=protected-access for dvcfile, params in top_params.items(): - wdir = repo.dvcfs.path.relpath( - repo.dvcfs.path.parent(dvcfile), repo.root_dir + wdir = repo.fs.path.relpath( + repo.fs.path.parent(dvcfile), repo.root_dir ) for file in params: - path = repo.dvcfs.path.join(wdir, file) - yield repo.dvcfs.path.normpath(path) + path = repo.fs.path.join(wdir, as_posix(file)) + yield repo.fs.path.normpath(path) def _collect_configs(