-
Notifications
You must be signed in to change notification settings - Fork 8
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
Don't require user.signingKey config #299
Comments
I agree that we should match the behavior of Git proper with respect to this. To do so I think we need to do the following.
From looking at |
After digging into this a bit further it seems that either @alondahari In your use case is |
I don't think it's using ssh signing. using git v2.44.0 |
I am referrencing the code and the documentation. I think it has to be using the signing key you provide otherwise it would be inconsistent outside the realm of the code space which would be all bad. Looking explicitly at the code for v2.44.0, specifically the https://github.com/git/git/blob/v2.44.0/gpg-interface.c#L858 If you then look at the supported gpg_formats, https://github.com/git/git/blob/v2.44.0/gpg-interface.c#L89 , ssh is the only one that has a default key command. This also lines up with everything I have read in documentation. So, it seems like for Git Patch Stack to match Git's behavior it should fallback to the command to get the default key for the case of ssh and only ssh. But, that means in terms of your specific use case. We don't understand everything quite yet. Maybe there It is also possible that in code spaces they have other git configs that are merged together. If I remember correctly there is support for a local, global, and system level git config at |
Sorry for taking a while to reply. If you take a look at the GH docs, you can see they are using in the codespaces a custom gpg binary. The binary is using a token set by the credentials helper, also referenced in the git config. It is not using the I believe I have the full picture regarding the configs applied since I list them with I believe the same method is used when you make an edit to a file using GitHub's web interface. I agree that it seems like only SSH has the I'm also confused about the flags we pass to the gpg signer, that don't match up to the ones passed in by git. What reference do you use for those flags? |
@drewdeponte don't know how your capacity to look into it these days, but I miss using gps and I want to pitch it to my co-workers at GH, but I'm blocked from using it because of this issue 😢 |
Thanks for bumping this. I forgot all about it. The confusing part to me is that according to the docs and to the code that I ready around the signing stuff in Git, in which I didn't see any credential helper stuff. The I believe the flags we pass to So, I am still confused by how things are working given the code that we read before. Specifically this line, https://github.com/git/git/blob/v2.44.0/gpg-interface.c#L858 Which makes me believe that there must be a default value for So I think the next steps for this are to continue doing digging in the Git code base to figure out how it is actually working in that environment so we can understand how |
At my new job we use GitHub codespaces, which I've set up to sign my commits automatically. I use an SSH tunnel to connect to the codespace so I can keep using my beloved NeoVim.
It works great, but gps throws an error when it's trying to sign the commits, due to missing signingKey in my config. Looking at the docs, the signing key is not required for signing. I believe the credentials helper in the codespace takes care of that, since it's inside a trusted environment. I'm sure there are other such environments.
This currently prevents me from using gps completely unfortunately.
The text was updated successfully, but these errors were encountered: