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):