mirror of
https://github.com/actions/checkout.git
synced 2025-04-01 22:10:06 +02:00
Adding fetch tags even when fetch depth is greater than 0
This commit is contained in:
parent
f095bcc56b
commit
a1ab6b9f77
9 changed files with 1328 additions and 1305 deletions
|
@ -77,7 +77,11 @@ When Git 2.18 or higher is not in your PATH, falls back to the REST API to downl
|
||||||
# Number of commits to fetch. 0 indicates all history for all branches and tags.
|
# Number of commits to fetch. 0 indicates all history for all branches and tags.
|
||||||
# Default: 1
|
# Default: 1
|
||||||
fetch-depth: ''
|
fetch-depth: ''
|
||||||
|
|
||||||
|
# Whether to fetch tags, even if fetch-depth > 0.
|
||||||
|
# Default: false
|
||||||
|
fetch-tags: ''
|
||||||
|
|
||||||
# Whether to download Git-LFS files
|
# Whether to download Git-LFS files
|
||||||
# Default: false
|
# Default: false
|
||||||
lfs: ''
|
lfs: ''
|
||||||
|
|
|
@ -801,6 +801,7 @@ async function setup(testName: string): Promise<void> {
|
||||||
clean: true,
|
clean: true,
|
||||||
commit: '',
|
commit: '',
|
||||||
fetchDepth: 1,
|
fetchDepth: 1,
|
||||||
|
fetchTags: false,
|
||||||
lfs: false,
|
lfs: false,
|
||||||
submodules: false,
|
submodules: false,
|
||||||
nestedSubmodules: false,
|
nestedSubmodules: false,
|
||||||
|
|
|
@ -80,6 +80,7 @@ describe('input-helper tests', () => {
|
||||||
expect(settings.commit).toBeTruthy()
|
expect(settings.commit).toBeTruthy()
|
||||||
expect(settings.commit).toBe('1234567890123456789012345678901234567890')
|
expect(settings.commit).toBe('1234567890123456789012345678901234567890')
|
||||||
expect(settings.fetchDepth).toBe(1)
|
expect(settings.fetchDepth).toBe(1)
|
||||||
|
expect(settings.fetchTags).toBe(false)
|
||||||
expect(settings.lfs).toBe(false)
|
expect(settings.lfs).toBe(false)
|
||||||
expect(settings.ref).toBe('refs/heads/some-ref')
|
expect(settings.ref).toBe('refs/heads/some-ref')
|
||||||
expect(settings.repositoryName).toBe('some-repo')
|
expect(settings.repositoryName).toBe('some-repo')
|
||||||
|
|
|
@ -56,6 +56,9 @@ inputs:
|
||||||
fetch-depth:
|
fetch-depth:
|
||||||
description: 'Number of commits to fetch. 0 indicates all history for all branches and tags.'
|
description: 'Number of commits to fetch. 0 indicates all history for all branches and tags.'
|
||||||
default: 1
|
default: 1
|
||||||
|
fetch-tags:
|
||||||
|
description: 'Whether to fetch tags, even if fetch-depth > 0.'
|
||||||
|
default: false
|
||||||
lfs:
|
lfs:
|
||||||
description: 'Whether to download Git-LFS files'
|
description: 'Whether to download Git-LFS files'
|
||||||
default: false
|
default: false
|
||||||
|
|
2604
dist/index.js
vendored
2604
dist/index.js
vendored
File diff suppressed because it is too large
Load diff
|
@ -25,7 +25,7 @@ export interface IGitCommandManager {
|
||||||
add?: boolean
|
add?: boolean
|
||||||
): Promise<void>
|
): Promise<void>
|
||||||
configExists(configKey: string, globalConfig?: boolean): Promise<boolean>
|
configExists(configKey: string, globalConfig?: boolean): Promise<boolean>
|
||||||
fetch(refSpec: string[], fetchDepth?: number): Promise<void>
|
fetch(refSpec: string[], fetchDepth?: number, fetchTags?: boolean): Promise<void>
|
||||||
getDefaultBranch(repositoryUrl: string): Promise<string>
|
getDefaultBranch(repositoryUrl: string): Promise<string>
|
||||||
getWorkingDirectory(): string
|
getWorkingDirectory(): string
|
||||||
init(): Promise<void>
|
init(): Promise<void>
|
||||||
|
@ -202,9 +202,9 @@ class GitCommandManager {
|
||||||
return output.exitCode === 0
|
return output.exitCode === 0
|
||||||
}
|
}
|
||||||
|
|
||||||
async fetch(refSpec: string[], fetchDepth?: number): Promise<void> {
|
async fetch(refSpec: string[], fetchDepth?: number, fetchTags?: boolean): Promise<void> {
|
||||||
const args = ['-c', 'protocol.version=2', 'fetch']
|
const args = ['-c', 'protocol.version=2', 'fetch']
|
||||||
if (!refSpec.some(x => x === refHelper.tagsRefSpec)) {
|
if (!refSpec.some(x => x === refHelper.tagsRefSpec) && !fetchTags) {
|
||||||
args.push('--no-tags')
|
args.push('--no-tags')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -169,7 +169,7 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const refSpec = refHelper.getRefSpec(settings.ref, settings.commit)
|
const refSpec = refHelper.getRefSpec(settings.ref, settings.commit)
|
||||||
await git.fetch(refSpec, settings.fetchDepth)
|
await git.fetch(refSpec, settings.fetchDepth, settings.fetchTags)
|
||||||
}
|
}
|
||||||
core.endGroup()
|
core.endGroup()
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,11 @@ export interface IGitSourceSettings {
|
||||||
*/
|
*/
|
||||||
fetchDepth: number
|
fetchDepth: number
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fetch tags, even if fetchDepth > 0 (default: false)
|
||||||
|
*/
|
||||||
|
fetchTags: boolean
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates whether to fetch LFS objects
|
* Indicates whether to fetch LFS objects
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -89,6 +89,11 @@ export async function getInputs(): Promise<IGitSourceSettings> {
|
||||||
}
|
}
|
||||||
core.debug(`fetch depth = ${result.fetchDepth}`)
|
core.debug(`fetch depth = ${result.fetchDepth}`)
|
||||||
|
|
||||||
|
// Fetch tags
|
||||||
|
result.fetchTags =
|
||||||
|
(core.getInput('fetch-tags') || 'false').toUpperCase() === 'TRUE'
|
||||||
|
core.debug(`fetch tags = ${result.fetchTags}`)
|
||||||
|
|
||||||
// LFS
|
// LFS
|
||||||
result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE'
|
result.lfs = (core.getInput('lfs') || 'false').toUpperCase() === 'TRUE'
|
||||||
core.debug(`lfs = ${result.lfs}`)
|
core.debug(`lfs = ${result.lfs}`)
|
||||||
|
|
Loading…
Add table
Reference in a new issue