Add source option for git submodules
Metadata
Current evaluation
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.
Resolution: closed resolved
Reason: A ~mr-cal closing comment (2026-09-16) states the work was completed in canonical/snapcraft#3629 and canonical/craft-parts#169 and is in Snapcraft 7 and 8. Both PRs are merged, and craft-parts now documents source-submodules in craft_parts/sources/sources.py and handles it in git_source.py.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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. | |
| stealth/space-bunny-alpha | — | closed resolved | Git submodule fetching is now configurable via source-submodules: choose modules, use [] to skip all, or omit it for recursive fetching. Implemented in #3629, backported in #3635, and shipped in Snapcraft 7/8. | |
| stealth/space-bunny-alpha | — | closed resolved | Implemented source-submodules in Snapcraft PR #3629 and Craft Parts PR #169 (commit 3891f255); shipped in Snapcraft 7 and 8. | |
| qwen/qwen3.6-35b-a3b | — | — | Implemented the source-submodules option to selectively clone git submodules. The feature was completed via related issues and pull requests, and released in Snapcraft 7 and 8. | |
| qwen/qwen3.8-27b |
Impact:
20
Quick Win:
12
Staleness:
95
Complexity:
40
Confidence:
85
Support Request:
10
|
close stale | Feature request to add a source-submodules option to the git source so only listed submodules are cloned instead of all recursively. The requested option was implemented in merged PR canonical/snapcraft#3629, so the issue is outdated and ready to close. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
25
Confidence:
80
Support Request:
10
|
close stale | Request to add a source-submodules option to control git submodule cloning in snapcraft. Unlabelled, zero comments, and inactive for over nine years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
30
Confidence:
85
Support Request:
10
|
close stale | Feature request to add a configurable option for cloning specific git submodules instead of all recursively. Unlabeled, no maintainer interaction, and inactive for over 9 years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
98
Complexity:
40
Confidence:
90
Support Request:
10
|
close stale | Feature request to add a source-submodules option for controlling git submodule cloning in snapcraft. Open for ~9.5 years with no comments, labels, or maintainer interaction. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/craft-parts#169
(confidence 98%)
Merged commit 3891f255 'sources: make submodule fetching configurable'; source-submodules documented in craft_parts/sources/sources.py and implemented in git_source.py.
-
Likely Fixed By:
canonical/snapcraft#3629
(confidence 97%)
Backport of the same change into snapcraft's bundled sources; merged as 383c1f1ce (related commits ac02c36ec, 195d509bd).
-
Related To:
craft-parts#3891f255
(confidence 60%)
Referenced as the short SHA of the implementing commit in craft-parts, not a separate tracked item.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1536698 Git source doesn't support submodules | snapcraft (launchpad) | closed | Git source submodule support was implemented and merged in ubuntu-core/snapcraft PR #249 (merge commit 1984cb339), using recursive cloning and submodule updates on pull. | |
| #249 Git source: Support submodules. | snapcraft | merged | Merged canonical/snapcraft#249 via 1984cb339, adding recursive Git cloning and submodule updates on pull to resolve LP #1536698. | |
| #3635 sources: make submodule fetching configurable | snapcraft | merged | Merged into snapcraft/7.0 as 4fabb9a1d, backporting #3629 to add configurable Git submodule fetching through source-submodules. | |
| #94 Support the source-subdir keyword for parts | snapcraft | merged | Merged snapcraft#94 via 9fe120945 (implementation 8741af4a3), adding source-subdir support while preserving source trees and delegating build-subdirectory selection to plugins. | |
| #217 added test for git sources in the get() method in snapcraft/sources.py | snapcraft | closed | Closed unmerged; its Git-source tests were reworked and merged through successor PR #233 in commit f909dc292. | |
| #1694765 source-type: git uses --remote for submodules | snapcraft (launchpad) | closed | Fixed by merged PR snapcore/snapcraft#1344 (commit a8500f718), removing --remote from Git submodule updates so superproject-recorded revisions are honored. | |
| #567 Add Subversion support | snapcraft | merged | Merged Subversion source support, tests, and packaging updates in canonical/snapcraft#567 (commit 0e1ec16e6), fixing Launchpad bug 1543243 and shipping in Snapcraft 2.12. | |
| #1549676 source-subdir says its "a source dir within a repo to build from" but misses that snapcraft will only copy that subdir | snapcraft (launchpad) | closed | Fixed by merged ubuntu-core/snapcraft#344 (commit 6beb6fec6): Snapcraft now copies the full repository while building from the selected source-subdir. | |
| #1957767 no way to use non-recursive git source | snapcraft (launchpad) | closed | Merged in snapcore/snapcraft#3629, adding configurable Git submodule fetching so non-recursive clones can be requested. | |
| #1999219 snapcraft checks only default branch for submodules | snapcraft (launchpad) | closed | 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. |