(repository, exclusive: bool | None = True, create=False)
| 46 | |
| 47 | |
| 48 | def reopen(repository, exclusive: bool | None = True, create=False): |
| 49 | if isinstance(repository, LegacyRepository): |
| 50 | if repository.io is not None or repository.lock is not None: |
| 51 | raise RuntimeError("Repo must be closed before a reopen. Cannot support nested repository contexts.") |
| 52 | return LegacyRepository(repository.path, exclusive=exclusive, create=create) |
| 53 | |
| 54 | if isinstance(repository, LegacyRemoteRepository): |
| 55 | if repository.p is not None or repository.sock is not None: |
| 56 | raise RuntimeError("Remote repo must be closed before a reopen. Cannot support nested repository contexts.") |
| 57 | return LegacyRemoteRepository(repository.location, exclusive=exclusive, create=create) |
| 58 | |
| 59 | raise TypeError( |
| 60 | f"Invalid argument type. Expected 'Repository' or 'RemoteRepository', received '{type(repository).__name__}'." |
| 61 | ) |
| 62 | |
| 63 | |
| 64 | def get_path(repository): |
no test coverage detected