Compare commits

..

2 Commits

Author SHA1 Message Date
Antoine Cotten
841177bb31 Merge a0847da780 into cbb722410c 2025-01-08 13:46:47 +01:00
Antoine Cotten
a0847da780 fix: sparse-checkout not disabled on subsequent checkout
If actions/checkout is invoked once with 'sparse-checkout' and cone mode
disabled, core.sparseCheckout remains enabled for all subsequent
invocations of actions/checkout.
2025-01-08 13:42:55 +01:00
4 changed files with 6 additions and 2 deletions

View File

@@ -17,4 +17,4 @@ jobs:
uses: actions/checkout@v4
- name: Publish
id: publish
uses: actions/publish-immutable-action@v0.0.4
uses: actions/publish-immutable-action@0.0.3

View File

@@ -48,7 +48,7 @@ jobs:
# Use `docker/build-push-action` to build (and optionally publish) the image.
- name: Build Docker Image (with optional Push)
uses: docker/build-push-action@v6.10.0
uses: docker/build-push-action@v6.5.0
with:
context: .
file: images/test-ubuntu-git.Dockerfile

2
dist/index.js vendored
View File

@@ -588,6 +588,8 @@ class GitCommandManager {
disableSparseCheckout() {
return __awaiter(this, void 0, void 0, function* () {
yield this.execGit(['sparse-checkout', 'disable']);
// Ensures that a previously enabled 'sparse-checkout' (e.g. via sparseCheckoutNonConeMode) is also disabled in the config.
yield this.execGit(['config', 'core.sparseCheckout', 'false']);
// Disabling 'sparse-checkout` leaves behind an undesirable side-effect in config (even in a pristine environment).
yield this.tryConfigUnset('extensions.worktreeConfig', false);
});

View File

@@ -178,6 +178,8 @@ class GitCommandManager {
async disableSparseCheckout(): Promise<void> {
await this.execGit(['sparse-checkout', 'disable'])
// Ensures that a previously enabled 'sparse-checkout' (e.g. via sparseCheckoutNonConeMode) is also disabled in the config.
yield this.execGit(['config', 'core.sparseCheckout', 'false']);
// Disabling 'sparse-checkout` leaves behind an undesirable side-effect in config (even in a pristine environment).
await this.tryConfigUnset('extensions.worktreeConfig', false)
}