diff options
| author | Finley Garton <35561611+finleygn@users.noreply.github.com> | 2023-09-22 18:30:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-22 13:30:36 -0400 |
| commit | 1963f77c07df3ab7f9fd71f348c9f4c1b94d1416 (patch) | |
| tree | e6d3ad1f11ed2694acc6868db9a78d81db0cc574 /src | |
| parent | 013e4dd1057d3478e90c162d5c1f49bd989999a4 (diff) | |
Add support for partial checkout filters (#1396)
* added filter option & tests
* added build file
* fix test oversight
* added exit 1
* updated docs to specify override
* undo unneeded readme change
* set to undefined rather than empty string
* run git config in correct di
---------
Co-authored-by: Cory Miller <13227161+cory-miller@users.noreply.github.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/git-source-provider.ts | 8 | ||||
| -rw-r--r-- | src/git-source-settings.ts | 5 | ||||
| -rw-r--r-- | src/input-helper.ts | 8 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/git-source-provider.ts b/src/git-source-provider.ts index c1360b8..5c98e9f 100644 --- a/src/git-source-provider.ts +++ b/src/git-source-provider.ts @@ -159,7 +159,13 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> { fetchTags?: boolean showProgress?: boolean } = {} - if (settings.sparseCheckout) fetchOptions.filter = 'blob:none' + + if (settings.filter) { + fetchOptions.filter = settings.filter + } else if (settings.sparseCheckout) { + fetchOptions.filter = 'blob:none' + } + if (settings.fetchDepth <= 0) { // Fetch all branches and tags let refSpec = refHelper.getRefSpecForAllHistory( diff --git a/src/git-source-settings.ts b/src/git-source-settings.ts index 2f80b5e..629350b 100644 --- a/src/git-source-settings.ts +++ b/src/git-source-settings.ts @@ -30,6 +30,11 @@ export interface IGitSourceSettings { clean: boolean /** + * The filter determining which objects to include + */ + filter: string | undefined + + /** * The array of folders to make the sparse checkout */ sparseCheckout: string[] diff --git a/src/input-helper.ts b/src/input-helper.ts index be9cecd..e546c19 100644 --- a/src/input-helper.ts +++ b/src/input-helper.ts @@ -82,6 +82,14 @@ export async function getInputs(): Promise<IGitSourceSettings> { result.clean = (core.getInput('clean') || 'true').toUpperCase() === 'TRUE' core.debug(`clean = ${result.clean}`) + // Filter + const filter = core.getInput('filter') + if (filter) { + result.filter = filter + } + + core.debug(`filter = ${result.filter}`) + // Sparse checkout const sparseCheckout = core.getMultilineInput('sparse-checkout') if (sparseCheckout.length) { |
