Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrhan Toy <orhantoy@github.com>2024-10-02 02:24:28 +0200
committerGitHub <noreply@github.com>2024-10-01 20:24:28 -0400
commit0bd055484c994e774f464ab246385ade83f7f553 (patch)
tree618c5b7cd871818823f0867c251f062575659f73
parent9e9be721c812de2127a8080b70e59b191b52ad01 (diff)
Check out other refs/* by commit if provided, fall back to ref (#1924)
-rw-r--r--__test__/ref-helper.test.ts10
-rw-r--r--dist/index.js4
-rw-r--r--src/ref-helper.ts4
3 files changed, 14 insertions, 4 deletions
diff --git a/__test__/ref-helper.test.ts b/__test__/ref-helper.test.ts
index d3b00b7..5c8d76b 100644
--- a/__test__/ref-helper.test.ts
+++ b/__test__/ref-helper.test.ts
@@ -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
diff --git a/dist/index.js b/dist/index.js
index 2b7dd09..d86415e 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -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 {
diff --git a/src/ref-helper.ts b/src/ref-helper.ts
index 00a1d27..58f9290 100644
--- a/src/ref-helper.ts
+++ b/src/ref-helper.ts
@@ -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 {