Fix unnecessary calls to getLocalRef()

This commit is contained in:
Michal Dorner 2021-04-12 22:46:34 +02:00
parent 78b1672eeb
commit e59743163d
No known key found for this signature in database
GPG Key ID: 9EEE04B48DA36786
2 changed files with 20 additions and 19 deletions

20
dist/index.js vendored
View File

@ -3967,7 +3967,7 @@ async function listAllFilesAsAdded() {
}
exports.listAllFilesAsAdded = listAllFilesAsAdded;
async function getCurrentRef() {
core.startGroup(`Determining current ref`);
core.startGroup(`Get current git ref`);
try {
const branch = (await exec_1.default('git', ['branch', '--show-current'])).stdout.trim();
if (branch) {
@ -4010,7 +4010,7 @@ async function getCommitCount() {
}
async function getLocalRef(shortName) {
if (isGitSha(shortName)) {
return await hasCommit(shortName) ? shortName : undefined;
return (await hasCommit(shortName)) ? shortName : undefined;
}
const output = (await exec_1.default('git', ['show-ref', shortName], { ignoreReturnCode: true })).stdout;
const refs = output
@ -4032,14 +4032,14 @@ async function ensureRefAvailable(name) {
let ref = await getLocalRef(name);
if (ref === undefined) {
await exec_1.default('git', ['fetch', '--depth=1', '--no-tags', 'origin', name]);
}
ref = await getLocalRef(name);
if (ref === undefined) {
await exec_1.default('git', ['fetch', '--depth=1', '--tags', 'origin', name]);
}
ref = await getLocalRef(name);
if (ref === undefined) {
throw new Error(`Could not determine what is ${name} - fetch works but it's not a branch, tag or commit SHA`);
ref = await getLocalRef(name);
if (ref === undefined) {
await exec_1.default('git', ['fetch', '--depth=1', '--tags', 'origin', name]);
ref = await getLocalRef(name);
if (ref === undefined) {
throw new Error(`Could not determine what is ${name} - fetch works but it's not a branch, tag or commit SHA`);
}
}
}
return ref;
}

View File

@ -163,7 +163,7 @@ export async function listAllFilesAsAdded(): Promise<File[]> {
}
export async function getCurrentRef(): Promise<string> {
core.startGroup(`Determining current ref`)
core.startGroup(`Get current git ref`)
try {
const branch = (await exec('git', ['branch', '--show-current'])).stdout.trim()
if (branch) {
@ -236,15 +236,16 @@ async function ensureRefAvailable(name: string): Promise<string> {
let ref = await getLocalRef(name)
if (ref === undefined) {
await exec('git', ['fetch', '--depth=1', '--no-tags', 'origin', name])
ref = await getLocalRef(name)
if (ref === undefined) {
await exec('git', ['fetch', '--depth=1', '--tags', 'origin', name])
ref = await getLocalRef(name)
if (ref === undefined) {
throw new Error(`Could not determine what is ${name} - fetch works but it's not a branch, tag or commit SHA`)
}
}
}
ref = await getLocalRef(name)
if (ref === undefined) {
await exec('git', ['fetch', '--depth=1', '--tags', 'origin', name])
}
ref = await getLocalRef(name)
if (ref === undefined) {
throw new Error(`Could not determine what is ${name} - fetch works but it's not a branch, tag or commit SHA`)
}
return ref
} finally {
core.endGroup()