Back to Codeberg

Checking out a PR over SSH fails with error when SSH port is not 22 #483

forgejo-contrib-forgejo-cli-issues-483.md

latest11.7 KB
Original Source

forgejo-contrib/forgejo-cli

Watch20

Star402

Fork

You've already forked forgejo-cli

51

CodeIssues 44Pull requests 8Releases 11Packages 2WikiActivity

Checking out a PR over SSH fails with error when SSH port is not 22 #483

New issue

Open

opened 2026-06-01 06:05:55 +02:00 by 9pfs · 5 comments

9pfs commented 2026-06-01 06:05:55 +02:00

Copy link

Expected Behavior

I executed fj pr checkout 1, expecting to have the forgejo CLI add a remote, fetch the relevant commits, and check out a new branch.

Actual Behavior

Instead of checking out the branch, an error message was displayed (redacted output provided):

text
[USER@HOST REPOSITORY_DIR]$ fj pr checkout 1
Error: the given reference name 'refs/heads/pr-git-ssh.h.wer.ee:2222-REDACTED-1' is not valid; class=Reference (4); code=InvalidSpec (-12)

Location:
    src/prs.rs:1544:13
[USER@HOST REPOSITORY_DIR]$

Steps to Reproduce

Clone a repository from a forgejo instance that has an SSH server on a non-22 port, then attempt to check out a PR over SSH.

fj Version

text
fj v0.5.0
user agent: forgejo-cli/0.5.0 (https://codeberg.org/forgejo-contrib/forgejo-cli/)
build type: from source
    target: x86_64-unknown-linux-gnu
Check for a new version with `fj version --check`

Additional information: AUR package forgejo-cli-git, version v0.5.0.r134.g4de88bd-1

Forgejo Version

15.0.2

Code of Conduct

  • I agree to act in accordance with the CoC & AI Agreement.
  • This issue was not generated by an LLM, even in part.

Expected Behavior I executed fj pr checkout 1, expecting to have the forgejo CLI add a remote, fetch the relevant commits, and check out a new branch. ### Actual Behavior Instead of checking out the branch, an error message was displayed (redacted output provided): text [USER@HOST REPOSITORY_DIR]$ fj pr checkout 1 Error: the given reference name 'refs/heads/pr-git-ssh.h.wer.ee:2222-REDACTED-1' is not valid; class=Reference (4); code=InvalidSpec (-12) Location: src/prs.rs:1544:13 [USER@HOST REPOSITORY_DIR]$ ### Steps to Reproduce Clone a repository from a forgejo instance that has an SSH server on a non-22 port, then attempt to check out a PR over SSH. ### fj Version text fj v0.5.0 user agent: forgejo-cli/0.5.0 (https://codeberg.org/forgejo-contrib/forgejo-cli/) build type: from source target: x86_64-unknown-linux-gnu Check for a new version with `fj version --check` Additional information: AUR package forgejo-cli-git, version v0.5.0.r134.g4de88bd-1 ### Forgejo Version 15.0.2 ### Code of Conduct - [x] I agree to act in accordance with the CoC & AI Agreement. - [x] This issue was not generated by an LLM, even in part.

9pfs added the Kind/Bug label 2026-06-01 06:05:57 +02:00

LordMZTE commented 2026-06-01 08:05:04 +02:00

Collaborator

Copy link

I can reproduce this on my git server @ https://git.mzte.de. We can use that for testing.

I can reproduce this on my git server @ https://git.mzte.de. We can use that for testing.

Fluffinity commented 2026-06-20 10:42:16 +02:00

Contributor

Copy link

Can you try setting the port in the git remote URL and tell us the result?

Can you try setting the port in the git remote URL and tell us the result?

Cyborus commented 2026-06-20 16:16:16 +02:00

Member

Copy link

Can you try setting the port in the git remote URL

Is that not already the case It's failing because the : in the URL indicating the port isn't allowed in refspecs

> Can you try setting the port in the git remote URL Is that not already the case It's failing because the : in the URL indicating the port isn't allowed in refspecs

Fluffinity commented 2026-06-20 17:04:44 +02:00

Contributor

Copy link

Is that not already the case It's failing because the : in the URL indicating the port isn't allowed in refspecs

I did not see the port in refs/heads/pr-git-ssh.h.wer.ee:2222-REDACTED-1. Interesting, that such a refspec gets created in the first place then.
@LordMZTE regular git operations work just fine with your server, right?

> Is that not already the case It's failing because the : in the URL indicating the port isn't allowed in refspecs I did not see the port in refs/heads/pr-git-ssh.h.wer.ee:2222-REDACTED-1. Interesting, that such a refspec gets created in the first place then. @LordMZTE regular git operations work just fine with your server, right?

Cyborus referenced this issue from a pull request that will close it, 2026-06-20 17:28:54 +02:00 fix(checkout): don't include port in refspec #510

LordMZTE commented 2026-06-22 09:18:11 +02:00

Collaborator

Copy link

@LordMZTE regular git operations work just fine with your server, right?

Yes, this is likely just a bug with how we determine the name of the new branch :D

> @LordMZTE regular git operations work just fine with your server, right? Yes, this is likely just a bug with how we determine the name of the new branch :D

Sign in to join this conversation.

No Branch/Tag specified

BranchesTags

main

renovate/lock-file-maintenance

renovate/serde-saphyr-0.x

docs/contributing

no-port-in-refspec

login/v16.next.forgejo.org

crates-io-publish

0.5.x

compile-time-fluent

0.4.x

localization-alias-demo

api_url_field

v0.5.0

v0.4.1

v0.4.0

v0.3.0

v0.2.0

v0.1.1

v0.1.0

v0.0.4

v0.0.3

v0.0.2

v0.0.1

Labels

Clear labels[ Kind/Breaking Breaking change that won't be backward compatible

](#)[ Kind/Bug Something is not working

](#)[ Kind/Design Discussion about UI/UX design

](#)[ Kind/Documentation Documentation changes

](#)[ Kind/Enhancement Improve existing functionality

](#)[ Kind/Feature New functionality

](#)[ Kind/Security This is security issue

](#)[ Kind/Testing Issue or pull request related to testing

](#)[ Kind/Upstream This is an issue with upstream software (Forgejo) that is probably not our fault

](#)

[ Priority

Critical The priority is critical

](#)[ Priority

High The priority is high

](#)[ Priority

Low The priority is low

](#)[ Priority

Medium The priority is medium

](#)

[ Reviewed

Confirmed Issue has been confirmed

](#)[ Reviewed

Duplicate This issue or pull request already exists

](#)[ Reviewed

Invalid Invalid issue

](#)[ Reviewed

Won't Fix This issue won't be fixed

](#)

[ Status

Abandoned Somebody has started to work on this but abandoned work

](#)[ Status

Blocked Something is blocking this issue or pull request

](#)[ Status

Need More Info Feedback is required to reproduce issue or to continue work

](#)

[ Suspicious

](#)

No labels Kind/Breaking Kind/Bug Kind/Design Kind/Documentation Kind/Enhancement Kind/Feature Kind/Security Kind/Testing Kind/Upstream [ Priority

Critical ](/forgejo-contrib/forgejo-cli/issues?labels=173012) [ Priority

High ](/forgejo-contrib/forgejo-cli/issues?labels=173013) [ Priority

Low ](/forgejo-contrib/forgejo-cli/issues?labels=173015) [ Priority

Medium ](/forgejo-contrib/forgejo-cli/issues?labels=173014) [ Reviewed

Confirmed ](/forgejo-contrib/forgejo-cli/issues?labels=173007) [ Reviewed

Duplicate ](/forgejo-contrib/forgejo-cli/issues?labels=173005) [ Reviewed

Invalid ](/forgejo-contrib/forgejo-cli/issues?labels=173006) [ Reviewed

Won't Fix ](/forgejo-contrib/forgejo-cli/issues?labels=173008) [ Status

Abandoned ](/forgejo-contrib/forgejo-cli/issues?labels=173011) [ Status

Blocked ](/forgejo-contrib/forgejo-cli/issues?labels=173010) [ Status

Need More Info ](/forgejo-contrib/forgejo-cli/issues?labels=173009) Suspicious

Milestone

Clear milestone

No items

No milestone

Projects

Clear projects

No items

No project

Assignees

Clear assignees

No assignees

4 participants

Notifications Subscribe

Due date

The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference

forgejo-contrib/forgejo-cli#483

WritePreview

Loading…

Add table

| Rows | | | Columns | |

CancelOK

Add a link

Url Description Hint: With a URL in your clipboard, you can paste directly into the editor to create a link.

CancelOK

CancelSave

Reference in a new issue

Repository

forgejo-contrib/forgejo-cli

Title

Body

Create issue

No description provided.

Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?

No Yes