From 28257e42f6dbde95b5515fe1ade8c5a678d6ff4e Mon Sep 17 00:00:00 2001 From: Brett-Best Date: Thu, 6 Nov 2025 11:16:39 +1100 Subject: [PATCH 1/2] feat: add `--recurse-submodules` to `git clone` or `git checkout` commands --- Sources/MintKit/Mint.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/MintKit/Mint.swift b/Sources/MintKit/Mint.swift index 7e5c791..705c16e 100644 --- a/Sources/MintKit/Mint.swift +++ b/Sources/MintKit/Mint.swift @@ -310,9 +310,9 @@ public class Mint { if package.versionCouldBeSHA { // version is maybe a SHA, so we can't do a shallow clone - cloneCommand = "git clone \(package.gitPath) \(package.repoPath) && cd \(package.repoPath) && git checkout \(package.version)" + cloneCommand = "git clone \(package.gitPath) \(package.repoPath) && cd \(package.repoPath) && git checkout --recurse-submodules \(package.version)" } else { - cloneCommand = "git clone --depth 1 -b \(package.version) \(package.gitPath) \(package.repoPath)" + cloneCommand = "git clone --depth 1 --recurse-submodules -b \(package.version) \(package.gitPath) \(package.repoPath)" } try runPackageCommand(name: "Cloning \(package.namedVersion)", command: cloneCommand, From 52560874ef8c24f1e104b4edd5774b28c9ff65ae Mon Sep 17 00:00:00 2001 From: Brett-Best Date: Wed, 10 Dec 2025 22:23:28 +1100 Subject: [PATCH 2/2] chore: adjust clone command for SHA versions to ensure submodules are checked out --- Sources/MintKit/Mint.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/MintKit/Mint.swift b/Sources/MintKit/Mint.swift index 705c16e..dace4e5 100644 --- a/Sources/MintKit/Mint.swift +++ b/Sources/MintKit/Mint.swift @@ -310,7 +310,7 @@ public class Mint { if package.versionCouldBeSHA { // version is maybe a SHA, so we can't do a shallow clone - cloneCommand = "git clone \(package.gitPath) \(package.repoPath) && cd \(package.repoPath) && git checkout --recurse-submodules \(package.version)" + cloneCommand = "git clone \(package.gitPath) \(package.repoPath) && cd \(package.repoPath) && git checkout \(package.version) && git submodule update --init --recursive" } else { cloneCommand = "git clone --depth 1 --recurse-submodules -b \(package.version) \(package.gitPath) \(package.repoPath)" }