mirror of
https://github.com/actions/checkout.git
synced 2026-03-04 08:41:01 +08:00
Compare commits
3 Commits
73b1379447
...
b99f722bb2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b99f722bb2 | ||
|
|
de5a000abf | ||
|
|
38cc68387c |
@ -77,6 +77,16 @@ describe('ref-helper tests', () => {
|
||||
expect(checkoutInfo.startPoint).toBeFalsy()
|
||||
})
|
||||
|
||||
it('getCheckoutInfo refs/ without commit', async () => {
|
||||
const checkoutInfo = await refHelper.getCheckoutInfo(
|
||||
git,
|
||||
'refs/non-standard-ref',
|
||||
''
|
||||
)
|
||||
expect(checkoutInfo.ref).toBe('refs/non-standard-ref')
|
||||
expect(checkoutInfo.startPoint).toBeFalsy()
|
||||
})
|
||||
|
||||
it('getCheckoutInfo unqualified branch only', async () => {
|
||||
git.branchExists = jest.fn(async (remote: boolean, pattern: string) => {
|
||||
return true
|
||||
|
||||
4
dist/index.js
vendored
4
dist/index.js
vendored
@ -2005,8 +2005,8 @@ function getCheckoutInfo(git, ref, commit) {
|
||||
result.ref = ref;
|
||||
}
|
||||
// refs/
|
||||
else if (upperRef.startsWith('REFS/') && commit) {
|
||||
result.ref = commit;
|
||||
else if (upperRef.startsWith('REFS/')) {
|
||||
result.ref = commit ? commit : ref;
|
||||
}
|
||||
// Unqualified ref, check for a matching branch or tag
|
||||
else {
|
||||
|
||||
@ -44,6 +44,7 @@ export interface IGitCommandManager {
|
||||
getWorkingDirectory(): string
|
||||
init(): Promise<void>
|
||||
isDetached(): Promise<boolean>
|
||||
lfsCheckout(): Promise<void>
|
||||
lfsFetch(ref: string): Promise<void>
|
||||
lfsInstall(): Promise<void>
|
||||
log1(format?: string): Promise<string>
|
||||
@ -340,6 +341,10 @@ class GitCommandManager {
|
||||
return !output.stdout.trim().startsWith('refs/heads/')
|
||||
}
|
||||
|
||||
async lfsCheckout(): Promise<void> {
|
||||
await this.execGit(['lfs', 'checkout'])
|
||||
}
|
||||
|
||||
async lfsFetch(ref: string): Promise<void> {
|
||||
const args = ['lfs', 'fetch', 'origin', ref]
|
||||
|
||||
|
||||
@ -232,6 +232,11 @@ export async function getSource(settings: IGitSourceSettings): Promise<void> {
|
||||
await git.checkout(checkoutInfo.ref, checkoutInfo.startPoint)
|
||||
core.endGroup()
|
||||
|
||||
// LFS checkout
|
||||
core.startGroup('Checking out LFS objects')
|
||||
await git.lfsCheckout()
|
||||
core.endGroup()
|
||||
|
||||
// Submodules
|
||||
if (settings.submodules) {
|
||||
// Temporarily override global config
|
||||
|
||||
@ -46,8 +46,8 @@ export async function getCheckoutInfo(
|
||||
result.ref = ref
|
||||
}
|
||||
// refs/
|
||||
else if (upperRef.startsWith('REFS/') && commit) {
|
||||
result.ref = commit
|
||||
else if (upperRef.startsWith('REFS/')) {
|
||||
result.ref = commit ? commit : ref
|
||||
}
|
||||
// Unqualified ref, check for a matching branch or tag
|
||||
else {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user