snapcraft checks only default branch for submodules
Metadata
Current evaluation
Bug was upstream in craft-parts: git source cloned --recursive then checked out source-commit, so submodules were only fetched from the default branch. Fixed by craft-parts PR #1600 (commit d2845976); snapcraft issue closed once that landed.
Resolution: closed resolved
Reason: Maintainer ~mr-cal closed the issue noting the fix in canonical/craft-parts#898, resolved by merged craft-parts PR #1600 (commit d2845976), which now checks out the requested source-commit before the recursive submodule update. Snapcraft pulls sources through craft-parts, so no snapcraft-side change was needed.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Bug was upstream in craft-parts: git source cloned --recursive then checked out source-commit, so submodules were only fetched from the default branch. Fixed by craft-parts PR #1600 (commit d2845976); snapcraft issue closed once that landed. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed via canonical/craft-parts#1600 (commit d2845976): Git sources now check out the requested commit before updating submodules. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
50
Quick Win:
22
Staleness:
90
Complexity:
55
Confidence:
55
Support Request:
20
|
close stale | Snapcraft only checks default branch for submodules when building from non-default commits. Unlabeled, 0 comments, 1364 days old. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
60
Confidence:
80
Support Request:
10
|
needs triage | Snapcraft fails to pull submodules when a dependency changes from a folder to a submodule on a non-default branch. Unlabelled and unassessed by maintainers after over three years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
92
Complexity:
50
Confidence:
85
Support Request:
10
|
needs triage | Snapcraft only checks the default branch for submodules instead of the specified commit, causing missing submodules when using source-commit and source-depth. No maintainer response or activity in over a year. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
85
Complexity:
50
Confidence:
75
Support Request:
10
|
needs triage | Reports a snapcraft limitation where Git submodules are only checked on the default branch instead of the specified commit or branch. Open for over 3 years with no maintainer comments or labels. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
92
Complexity:
55
Confidence:
85
Support Request:
10
|
close stale | Snapcraft incorrectly fetches submodules only from the default branch instead of the specified commit, causing build failures when dependencies change structure. Unlabelled and inactive for over a year. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/craft-parts#1600
(confidence 97%)
Merged PR 'fix(git): checkout commit before updating submodules' (d2845976), the fix cited in the closing comment.
-
Likely Fixed By:
canonical/craft-parts#898
(confidence 95%)
Upstream issue 'Git source should check out a commit before recursing submodules', the root cause reported by ~mr-cal.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #898 Git source should check out a commit before recursing submodules | craft-parts | closed | Fixed in craft-parts PR #1600 (commit d2845976): Git sources now check out the requested commit before running the recursive submodule update, instead of fetching submodules at the default branch first. | |
| #1817907 building part with git source-commit not found in master fails | snapcraft (launchpad) | closed | Fixed in snapcore/snapcraft#2968 (commit 3941e7918): Snapcraft now fetches a specified source-commit before checkout, including commits outside the default branch. | |
| #1640675 Add source option for git submodules | snapcraft (launchpad) | closed | Feature request implemented: source-submodules added to git sources, merged as snapcraft PR #3629 (383c1f1ce) and craft-parts PR #169 (3891f255); shipped in Snapcraft 7 and 8. Maintainer closed the2016 Launchpad bug as done. |