1
0
mirror of https://github.com/actions/checkout.git synced 2026-06-29 18:13:51 +08:00

Compare commits

..

3 Commits

Author SHA1 Message Date
Wiktor Kwapisiewicz
9f2eda4087 Merge 38cd156730 into 0c366fd6a8 2026-01-10 01:41:19 +05:30
eric sciple
0c366fd6a8 Update changelog (#2357) 2026-01-09 14:09:42 -06:00
Wiktor Kwapisiewicz
38cd156730 Ask git to checkout a submodule even if it is skipped in .gitmodules
Setting a submodule as `update = none` is a common way to make cargo
skip the submodule. Unfortunately this makes `actions/checkout` skip
the submodule too, even if it's configured to fetch submodules.

This patch adds an option that is a default in git but causes the
submodules to be available even if skipped otherwise.

See: https://github.com/actions/checkout/issues/915
See: https://github.com/rust-lang/cargo/issues/4247#issuecomment-1149178736
See: https://git-scm.com/docs/git-submodule#Documentation/git-submodule.txt---checkout
2025-02-18 12:31:08 +01:00
3 changed files with 8 additions and 2 deletions

View File

@@ -1,5 +1,11 @@
# Changelog
## v6.0.2
* Fix tag handling: preserve annotations and explicit fetch-tags by @ericsciple in https://github.com/actions/checkout/pull/2356
## v6.0.1
* Add worktree support for persist-credentials includeIf by @ericsciple in https://github.com/actions/checkout/pull/2327
## v6.0.0
* Persist creds to a separate file by @ericsciple in https://github.com/actions/checkout/pull/2286
* Update README to include Node.js 24 support details and requirements by @salmanmkc in https://github.com/actions/checkout/pull/2248

2
dist/index.js vendored
View File

@@ -983,7 +983,7 @@ class GitCommandManager {
submoduleUpdate(fetchDepth, recursive) {
return __awaiter(this, void 0, void 0, function* () {
const args = ['-c', 'protocol.version=2'];
args.push('submodule', 'update', '--init', '--force');
args.push('submodule', 'update', '--init', '--force', '--checkout');
if (fetchDepth > 0) {
args.push(`--depth=${fetchDepth}`);
}

View File

@@ -448,7 +448,7 @@ class GitCommandManager {
async submoduleUpdate(fetchDepth: number, recursive: boolean): Promise<void> {
const args = ['-c', 'protocol.version=2']
args.push('submodule', 'update', '--init', '--force')
args.push('submodule', 'update', '--init', '--force', '--checkout')
if (fetchDepth > 0) {
args.push(`--depth=${fetchDepth}`)
}