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>
This commit is contained in:
		@@ -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(
 | 
			
		||||
 
 | 
			
		||||
@@ -29,6 +29,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
 | 
			
		||||
   */
 | 
			
		||||
 
 | 
			
		||||
@@ -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) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user