pulling repository can hang execution indefinitely
Metadata
Current evaluation
Git sources still allow credential prompts during clone and fetch, so inaccessible private or nonexistent HTTPS repositories can leave pull blocked indefinitely.
Suggested action: keep open
Reason: The report provides an HTTPS URL, part YAML, and logs showing git clone stopping at “Cloning into,” and the current clone/fetch commands do not disable terminal prompting. No resolving change was found; disable Git credential prompts consistently for non-interactive source operations and add tests for both clone and fetch paths.
Evaluated by: mr-cal-bot
Impact:
65
Quick Win:
39
Complexity:
25
Confidence:
86
Actionability:
80
Issue body
### Bug Description
During pull phase if repository is private or does not exist, craft will hung forever waiting for the credentials.
It should immediately fail as there is no place for user to put the credentials in
### To Reproduce
Build the source that requests you to use credentials (e.g. source from GitHub or Launchpad via `https://` that is not public or does not exist).
### part yaml
```yaml
non-existing-part:
# See 'snapcraft plugins'
source: https://github.com/non-existing-user/non-existing-repo
source-type: git
plugin: nil
```
### Relevant log output
```
2024-12-12 10:37:22.198 execute action my-part:Action(part_name='my-part', step=Step.PULL, action_type=ActionType.RUN, reason=None, project_vars=None, properties=ActionProperties(changed_files=None, changed_dirs=None)) │
2024-12-12 10:37:22.199 Executing: git clone --recursive https://github.com/non-existing-user/non-existing-repo │
2024-12-12 10:37:22.201 :: Cloning into '/root/parts/my-part/src'...
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
65
Quick Win:
39
Complexity:
25
Confidence:
86
Actionability:
80
|
keep open | Git sources still allow credential prompts during clone and fetch, so inaccessible private or nonexistent HTTPS repositories can leave pull blocked indefinitely. | |
| qwen/qwen3.6-35b-a3b |
Impact:
70
Quick Win:
45
Complexity:
20
Confidence:
70
Actionability:
80
|
needs triage | craft-parts hangs indefinitely when git clone prompts for credentials on private or non-existing repositories | |
| qwen/qwen3.8-27b |
Impact:
50
Quick Win:
35
Staleness:
75
Complexity:
30
Confidence:
70
Support Request:
5
|
needs triage | Git source pull hangs indefinitely when repo is private/nonexistent because git prompts for credentials with no way to provide them. Reported Dec 2024, no maintainer response, no fix found in current code. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
85
Complexity:
20
Confidence:
70
Support Request:
5
|
needs triage | Git clone hangs indefinitely when pulling a private or non-existent repository, waiting for credentials instead of failing immediately. Currently unlabelled with minimal maintainer interaction since December 2024. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
90
Complexity:
30
Confidence:
75
Support Request:
5
|
needs triage | Git clone hangs indefinitely when pulling a private or non-existent repository due to unhandled credential prompts. Currently unlabelled and inactive for over a year, awaiting maintainer assessment. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2052928 Pulling from private repository without known_hosts hangs forever | snapcraft (launchpad) | open | SSH-based Git source pulls can block indefinitely when the host is absent from known_hosts because the host-key prompt is obscured by pull progress; clear core22 reproducer, no maintainer triage. |