Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/git-command-manager.ts5
-rw-r--r--src/git-source-provider.ts4
2 files changed, 8 insertions, 1 deletions
diff --git a/src/git-command-manager.ts b/src/git-command-manager.ts
index 7752cfa..0f3fd25 100644
--- a/src/git-command-manager.ts
+++ b/src/git-command-manager.ts
@@ -17,6 +17,7 @@ export interface IGitCommandManager {
branchDelete(remote: boolean, branch: string): Promise<void>
branchExists(remote: boolean, pattern: string): Promise<boolean>
branchList(remote: boolean): Promise<string[]>
+ disableSparseCheckout(): Promise<void>
sparseCheckout(sparseCheckout: string[]): Promise<void>
sparseCheckoutNonConeMode(sparseCheckout: string[]): Promise<void>
checkout(ref: string, startPoint: string): Promise<void>
@@ -171,6 +172,10 @@ class GitCommandManager {
return result
}
+ async disableSparseCheckout(): Promise<void> {
+ await this.execGit(['sparse-checkout', 'disable'])
+ }
+
async sparseCheckout(sparseCheckout: string[]): Promise<void> {
await this.execGit(['sparse-checkout', 'set', ...sparseCheckout])
}
diff --git a/src/git-source-provider.ts b/src/git-source-provider.ts
index 5c98e9f..0589722 100644
--- a/src/git-source-provider.ts
+++ b/src/git-source-provider.ts
@@ -208,7 +208,9 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
}
// Sparse checkout
- if (settings.sparseCheckout) {
+ if (!settings.sparseCheckout) {
+ await git.disableSparseCheckout()
+ } else {
core.startGroup('Setting up sparse checkout')
if (settings.sparseCheckoutConeMode) {
await git.sparseCheckout(settings.sparseCheckout)