-
-
Notifications
You must be signed in to change notification settings - Fork 573
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add support for external ssh signing #2198
base: master
Are you sure you want to change the base?
Conversation
@yanganto you are the most prominent user of ssh-signing. can you review this? |
@seanaye is there a way to write a test for this? |
I'll try to write some tests this week |
Very excited about this feature to start using gitui as my daily driver! Thank you, @seanaye 🙏 |
Thank you for working on this! would love to see it released |
Hi @seanaye - sorry to ping and realise you must be busy; hoping you can still throw resources at this; Myself, I currently have to stop using 1p ssh signing due to breaking my gitui workflow. Thanks for your time spent thus far. |
@robrecord no worries! I actually totally forgot about this, I think I can find some time this week to finish it up |
169e177
to
4dd4bbf
Compare
@extrawurst @yanganto please let me know what else I can do to help get this merged |
Hi @seanaye, |
@kucho @dkarter @robrecord anyone who can help by building this branch and testing it with their setup and reporting back here can help get this merged. |
I'm not quite sure what you mean by this, I don't see any previous feedback. If you review the PR I'm happy to make changes |
Does it work with It will be good to have a CI if we want to make sure this feature always works in the future. |
I have tested so far with the 1Password ssh agent but the CLI arguments are standardized as far as I know https://developer.1password.com/docs/ssh/git-commit-signing/ I think adding this to CI may be difficult as it would require adding new system dependencies to the image where the CI runs. For example installing the 1Password CLI inside a docker image. |
Ping |
|
||
impl SSHProgram { | ||
pub fn new(config: &git2::Config) -> Self { | ||
match dbg!(config.get_string("gpg.ssh.program")) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need the debug code dbg!
here?
I thought the |
Thank you for requesting my feedback. I have built this branch and tried to make it work but I am getting the same error: "sign builder error: Failed to retrieve 'user.signingkey' from the git configuration: Currently, we only support a pair of ssh key in disk." As far as I can see I have the same essential config as seaneye. @seanaye I assume it is working for you; are there any special steps I need to take to allow this to work please? Using 1Password for Mac 8.10.48 (81048025)
Nothing overridden in my local config. I also tried using a program called Secretive (Version 2.4.1 (1.7648958148)). I commented out the ssh program and changed the key path to my Secretive key. I got the same error as above. Lastly I fell back to using plain SSH on disk without a signing program. On committing usign gitui, the error was now different: "the private key is encrypted", as expected. |
This Pull Request fixes/closes #2188.
It changes the following:
EDIT: I have added a test for the new feature, let me know if this is not sufficient or what to change, its a bit hard to test external binaries.
I ran make check without errors except for the python check, I don't have python on my system which I'm guessing is the cause of the failure
I followed the checklist:
make check
without errors