Skip to content

Commit 3b7309d

Browse files
committed
Fix clone error classification
1 parent 66cef40 commit 3b7309d

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

agr/fetcher.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,13 @@ def downloaded_repo(
189189
result = _clone_repo(repo_url, repo_dir, partial=False)
190190

191191
if result.returncode != 0:
192-
_raise_clone_error(result.stderr, owner, repo_name, source)
192+
_raise_clone_error(
193+
result.stderr,
194+
owner,
195+
repo_name,
196+
source,
197+
stdout=result.stdout,
198+
)
193199

194200
yield repo_dir
195201

@@ -267,10 +273,16 @@ def _reset_repo_dir(repo_dir: Path) -> None:
267273

268274

269275
def _raise_clone_error(
270-
stderr: str | None, owner: str, repo_name: str, source: SourceConfig
276+
stderr: str | None,
277+
owner: str,
278+
repo_name: str,
279+
source: SourceConfig,
280+
stdout: str | None = None,
271281
) -> None:
272282
"""Raise a friendly error based on git clone output."""
273-
message = (stderr or "").strip()
283+
message = "\n".join(
284+
part for part in ((stderr or "").strip(), (stdout or "").strip()) if part
285+
).strip()
274286
lowered = message.lower()
275287

276288
if "authentication failed" in lowered or "permission denied" in lowered:

0 commit comments

Comments
 (0)