feat(ssh-git): Introduce support to pull repositories using ssh keypairs#4285
Open
leophys wants to merge 3 commits intoTabbyML:mainfrom
Open
feat(ssh-git): Introduce support to pull repositories using ssh keypairs#4285leophys wants to merge 3 commits intoTabbyML:mainfrom
leophys wants to merge 3 commits intoTabbyML:mainfrom
Conversation
Author
|
I don't know how to ask for a review to a team member, so I am just tagging someone, @gyxlucy |
Author
|
Hi there! 👋 |
Member
|
add @zwpaper |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi folks! I love what you are building and wanted to contribute back. I see a use case where someone (me?) would like to pull private repositories. As of now, this is supported only for forges which accept authentication mechanisms through HTTP. I wanted to support pulling via ssh using ssh keys.
Doing so, I also refactored the code to drop invoking the
gitbinary and instead completely rely ongit2-rs, which is already a dependency you were pulling in.Currently, this PR only includes the backend work. There is also the need for a UI change to make this available for end users, and here I stopped. I did because I understand this is a product, and you might want to have a discussion (open or not) on how (whether) to expose this feature to the users.
I designed the change to allow both keys stored in files and as text in the database. This seemed like a sensible and easy thing to do.
There are three new tests:
git2-rs)I am open for feedback/discussions. I am also keen to do the frontend work, if we agree on a final UX/UI.