mirror of
https://code.forgejo.org/actions/checkout.git
synced 2024-11-05 02:02:51 +01:00
Check out other refs/* by commit if provided, fall back to ref (#1924)
This commit is contained in:
parent
d632683dd7
commit
de5a000abf
3 changed files with 14 additions and 4 deletions
|
@ -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 {
|
||||
|
|
|
@ -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 a new issue