Check out other refs/* by commit if provided, fall back to ref (#1924)
Some checks failed
Check dist / check-dist (push) Failing after 9s
CodeQL / Analyze (javascript) (push) Failing after 7s
Licensed / Check licenses (push) Successful in 27s
Build and Test / build (push) Failing after 7s
Build and Test / test (ubuntu-latest) (push) Failing after 48s
Build and Test / test-proxy (push) Failing after 30s
Build and Test / test-bypass-proxy (push) Failing after 39s
Build and Test / test-git-container (push) Failing after 13s
Build and Test / test-output (push) Successful in 18s
Build and Test / test (macos-latest) (push) Has been cancelled
Build and Test / test (windows-latest) (push) Has been cancelled

This commit is contained in:
Orhan Toy 2024-10-02 02:24:28 +02:00 committed by GitHub
parent d632683dd7
commit de5a000abf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 4 deletions

View File

@ -77,6 +77,16 @@ describe('ref-helper tests', () => {
expect(checkoutInfo.startPoint).toBeFalsy() 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 () => { it('getCheckoutInfo unqualified branch only', async () => {
git.branchExists = jest.fn(async (remote: boolean, pattern: string) => { git.branchExists = jest.fn(async (remote: boolean, pattern: string) => {
return true return true

4
dist/index.js vendored
View File

@ -2005,8 +2005,8 @@ function getCheckoutInfo(git, ref, commit) {
result.ref = ref; result.ref = ref;
} }
// refs/ // refs/
else if (upperRef.startsWith('REFS/') && commit) { else if (upperRef.startsWith('REFS/')) {
result.ref = commit; result.ref = commit ? commit : ref;
} }
// Unqualified ref, check for a matching branch or tag // Unqualified ref, check for a matching branch or tag
else { else {

View File

@ -46,8 +46,8 @@ export async function getCheckoutInfo(
result.ref = ref result.ref = ref
} }
// refs/ // refs/
else if (upperRef.startsWith('REFS/') && commit) { else if (upperRef.startsWith('REFS/')) {
result.ref = commit result.ref = commit ? commit : ref
} }
// Unqualified ref, check for a matching branch or tag // Unqualified ref, check for a matching branch or tag
else { else {