From edc303b7bf78f4bd4d781cb4bc9eba74f77fd24d Mon Sep 17 00:00:00 2001 From: Peter Rowlands Date: Mon, 3 Jul 2023 16:17:59 +0900 Subject: [PATCH] repo.open_repo: use abspath for local fs URL --- dvc/repo/open_repo.py | 1 + tests/func/api/test_data.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/dvc/repo/open_repo.py b/dvc/repo/open_repo.py index bc01f9dffd..8a09011661 100644 --- a/dvc/repo/open_repo.py +++ b/dvc/repo/open_repo.py @@ -67,6 +67,7 @@ def open_repo(url, *args, **kwargs): url = os.getcwd() if os.path.exists(url): + url = os.path.abspath(url) try: config = _get_remote_config(url) config.update(kwargs.get("config") or {}) diff --git a/tests/func/api/test_data.py b/tests/func/api/test_data.py index dec5d41838..09267e8a86 100644 --- a/tests/func/api/test_data.py +++ b/tests/func/api/test_data.py @@ -198,11 +198,13 @@ def test_get_url_subrepos(tmp_dir, scm, local_cloud): local_cloud / "files" / "md5" / "ac" / "bd18db4cc2f85cedef654fccc4a4d8" ) assert api.get_url(os.path.join("subrepo", "dir", "foo")) == expected_url + assert api.get_url(os.path.join("subrepo", "dir", "foo"), repo=".") == expected_url expected_url = os.fspath( local_cloud / "files" / "md5" / "37" / "b51d194a7513e45b56f6524f2d51f2" ) assert api.get_url("subrepo/bar") == expected_url + assert api.get_url("subrepo/bar", repo=".") == expected_url def test_open_from_remote(tmp_dir, erepo_dir, cloud, local_cloud):