git-revise icon indicating copy to clipboard operation
git-revise copied to clipboard

Commit signing does not support SSH signatures

Open grncdr opened this issue 3 years ago • 3 comments

It seems that git-revise breaks when git is configured to sign commits with gpg.format = ssh. The comments in #46 indicate that commit signing here is implemented independently of that in Git itself, any chance that support for ssh signing could be added?

I'd be happy to take a crack at implementing it. I know a bit about Gits implementation (it's gotten more complex in recent versions) but I'm not familiar with the git-revise codebase at all so any pointers there would be appreciated.

grncdr avatar Feb 23 '22 10:02 grncdr

Sure A good strategy is to translate what Git does to Python. Both implementations have sign_buffer(), but ours does not respect gpg.format.

krobelus avatar Feb 26 '22 08:02 krobelus

I'm a little perplexed that git-revise doesn't just use the built-in git commit signing process. Is there a reason it can't?

9999years avatar Mar 30 '24 02:03 9999years

One problem is that Git does not expose a shared library with sign_buffer(). We don't want to shell out to git commit because that does more than we want to, also it requires creating a Git worktree which can be relatively slow.

Maybe there is a third party git library that we could use for signing.

krobelus avatar Mar 30 '24 07:03 krobelus