← Back to issue list

Craft parts should close stdin when cloning git projects

View original Github issue

Metadata

Project
craft-parts
Number
#899
Type
issue
State
open
Author
mr-cal
Labels
—
Created
Updated
Closed
—

Current evaluation

Git source commands still inherit stdin, so private-repository prompts can hang or produce unhelpful failures in local and remote builds; this request remains open and untriaged.

Suggested action: needs triage

Reason: GitSource clone and fetch operations call _run, which delegates to os_utils.process_run; its Popen call does not set stdin=subprocess.DEVNULL, unlike the cited apt handling, and no credential-specific Git handling was found. The requirement and intended remote-build test are clear, but the issue has no labels and its only comment is an automated Jira notification, so maintainer triage is still needed.

Evaluated by: mr-cal-bot

Impact: 52 Quick Win: 27 Complexity: 34 Confidence: 96 Actionability: 78

Issue body

### What needs to get done 1. Similar to `apt` calls ([source](https://github.com/canonical/craft-parts/blob/2559930585682ceec00fccb150d508e95918b7f4/craft_parts/packages/deb.py#L611)), craft-parts should close stdin when cloning git repos. 2. If a repo requires credentials, craft-parts should raise a user-friendly error both locally and in CI (`snapcraft remote-build` is a good test). ### Why it needs to get done If a git repo requires credentials, craft-parts does not prevent block stdin. This produces unhelpful errors. source: https://chat.canonical.com/canonical/pl/wdbbgdpiupdymyzgfwiuys8cge

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 52
Quick Win: 27
Complexity: 34
Confidence: 96
Actionability: 78
needs triage Git source commands still inherit stdin, so private-repository prompts can hang or produce unhelpful failures in local and remote builds; this request remains open and untriaged.
qwen/qwen3.6-35b-a3b
Impact: 60
Quick Win: 38
Complexity: 20
Confidence: 85
Actionability: 80
keep open craft-parts should close stdin during git clone operations to prevent unhelpful errors when credentials are required, and raise a user-friendly error instead.
qwen/qwen3.8-27b
Impact: 50
Quick Win: 32
Staleness: 55
Complexity: 35
Confidence: 72
Support Request: 5
needs triage Git source handler in craft-parts does not close stdin when cloning, causing hangs when repos require credentials. Filed by maintainer mr-cal; only a Jira-sync bot comment exists. No fix found in git_source.py or base.py _run.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 25
Confidence: 85
Support Request: 10
needs triage Request to close stdin during git cloning to prevent blocking and improve error handling for credential prompts. Currently unlabelled and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 20
Confidence: 80
Support Request: 10
needs triage Request to close stdin during git cloning and improve credential error handling. Unlabeled, inactive for over a year, awaiting maintainer triage.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.