Back to Codeberg

feat: --identity argument #255

forgejo-contrib-forgejo-cli-pulls-255.md

latest11.4 KB
Original Source

forgejo-contrib/forgejo-cli

Watch20

Star402

Fork

You've already forked forgejo-cli

51

CodeIssues 44Pull requests 8Releases 11Packages 2WikiActivity

feat: --identity argument #255

Merged

Cyborusmerged 1 commit from LordMZTE/forgejo-cli:ssh-id-flag into main 2026-01-07 22:56:39 +01:00

Conversation 1Commits 1Files changed 4 +100 -33

LordMZTE commented 2025-12-30 11:28:38 +01:00

Collaborator

Copy link

This adds an argument -I, --identity to all commands that clone a
repository or fetch a branch.

Additionally, logic from repo clone to load SSH keys according to
the SSH config has been extracted into its own function and is now also
used for pr checkout.

Closes #253

One thing I'm uncertain about: should we still load keys from the configuration if --identity is given? Currently, we still load them in that case, but I don't actually know what effect that has or if it's desirable at all. Please let me know your thoughts.

This adds an argument -I, --identity to all commands that clone a repository or fetch a branch. Additionally, logic from repo clone to load SSH keys according to the SSH config has been extracted into its own function and is now also used for pr checkout. Closes #253 One thing I'm uncertain about: should we still load keys from the configuration if --identity is given? Currently, we still load them in that case, but I don't actually know what effect that has or if it's desirable at all. Please let me know your thoughts.

LordMZTE requested review from Cyborus 2025-12-30 11:28:48 +01:00

Cyborus commented 2025-12-30 18:24:05 +01:00

Member

Copy link

@LordMZTE wrote in #255 (comment):

should we still load keys from the configuration if --identity is given?

I'm thinking not. If the user specifies an identity file that doesn't exist, I think it's better to exit with an error, instead of silently falling back to another key.

@LordMZTE wrote in https://codeberg.org/forgejo-contrib/forgejo-cli/pulls/255#issue-3064919: > should we still load keys from the configuration if --identity is given? I'm thinking not. If the user specifies an identity file that doesn't exist, I think it's better to exit with an error, instead of silently falling back to another key.

Cyborus requested changes 2025-12-30 18:28:28 +01:00 Dismissed

src/prs.rs Outdated

Show resolved Hide resolved

| | | | @ -114,1 +114,4 @@ | | | | | | ssh: Option<Option<bool>>, | | | | | | /// An SSH key file to use when cloning over SSH. | | | | | | #[clap(long, short = 'I')] | | | | | | identity: Option<PathBuf>, |

Cyborus commented 2025-12-30 18:25:05 +01:00

Member

Copy link

I'd prefer this be --identity-file, to match ssh.

I'd prefer this be --identity-file, to match ssh.

LordMZTE marked this conversation as resolved

src/wiki.rs Outdated

Show resolved Hide resolved

| | | | @ -36,0 +36,4 @@ | | | | | | | | | | | | /// An SSH key file to use when cloning over SSH. | | | | | | #[clap(long, short = 'I')] | | | | | | identity: Option<PathBuf>, |

Cyborus commented 2025-12-30 18:26:38 +01:00

Member

Copy link

This should get an --ssh flag, too.

This should get an --ssh flag, too.

LordMZTE marked this conversation as resolved

LordMZTE force-pushed ssh-id-flag from 3790b43e29

All checks were successful

ci/woodpecker/pr/check Pipeline was successful

Details

to f1d901187d

All checks were successful

ci/woodpecker/pr/check Pipeline was successful

Details

2025-12-31 13:31:16 +01:00 Compare

LordMZTE requested review from Cyborus 2025-12-31 13:31:32 +01:00

Cyborus approved these changes 2026-01-07 22:56:11 +01:00

Cyborus merged commit d8c2b12f43 into main 2026-01-07 22:56:39 +01:00

Cyborus referenced this pull request from a commit 2026-01-07 22:56:40 +01:00 Merge pull request 'feat: --identity argument' (#255) from LordMZTE/forgejo-cli:ssh-id-flag into main

Cyborus added this to the v0.4.0 milestone 2026-01-07 22:58:38 +01:00

LordMZTE deleted branch ssh-id-flag 2026-01-08 10:18:34 +01:00

Sign in to join this conversation.

Reviewers

No reviewers

Cyborus

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/pulls?labels=173012) [ Priority

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

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

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

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

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

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

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

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

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

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

Milestone

Clear milestone

No items

No milestone v0.4.0

Projects

Clear projects

No items

No project

Assignees

Clear assignees

No assignees

2 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!255

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 "LordMZTE/forgejo-cli:ssh-id-flag"

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