From a5dda1b8adc96757597e92f65630f79482d36cf3 Mon Sep 17 00:00:00 2001 From: Peter Rowlands Date: Tue, 11 Jul 2023 17:00:34 +0900 Subject: [PATCH] open_repo: return without entering context for both local and erepo --- dvc/repo/open_repo.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/dvc/repo/open_repo.py b/dvc/repo/open_repo.py index 2bb41b822d..1b5e0bbeb8 100644 --- a/dvc/repo/open_repo.py +++ b/dvc/repo/open_repo.py @@ -2,8 +2,7 @@ import os import tempfile import threading -from contextlib import contextmanager -from typing import TYPE_CHECKING, Dict, Iterator, Optional, Tuple +from typing import TYPE_CHECKING, Dict, Optional, Tuple from funcy import retry, wrap_with @@ -18,13 +17,12 @@ logger = logging.getLogger(__name__) -@contextmanager @map_scm_exception() def _external_repo( url, rev: Optional[str] = None, **kwargs, -) -> Iterator["Repo"]: +) -> "Repo": logger.debug("Creating external repo %s@%s", url, rev) path = _cached_clone(url, rev) # Local HEAD points to the tip of whatever branch we first cloned from @@ -46,12 +44,7 @@ def _external_repo( **kwargs, ) - repo = Repo(**repo_kwargs) - - try: - yield repo - finally: - repo.close() + return Repo(**repo_kwargs) def open_repo(url, *args, **kwargs):