With OmegaT 5.5 and earlier, the program ignored a set user.signinkey values in the global (or local) Git configuration. Commits were never signed, even with a key set.
Starting with 5.6 this results in an exception, since OmegaT honors the value being set, yet isn't able to talk to the associated tools to sign the commit (but it won't skip signing either).
Using regular command line git results in the proper password prompts being shown.
Windows 11 x64
gpg4win/gpg v2.2.28
Reproduction:
user.signingkey to the key's identifier.user.program to gpg.gpg.program to the full path of gpg.exe.PATH, too.)org.eclipse.jgit.api.errors.ServiceUnavailableException: Signing service is not available.Global .gitconfig:
[user]
name = Mario Liebisch
email = me@example.com
signingkey = 0123456789ABCDEF
program = gpg
[gpg]
program = C:\\Program Files (x86)\\GnuPG\\bin\\gpg.exe
Workaround for those with the same issue:
Remove the key globally or set your local OmegaT repository's value commit.gpgsign to false.
This will prevent signing for the OmegaT repository, while keep it intact for everything else.
GpgSigner abstract class has been supported from jGit 5.3.
OmegaT 5.5 uses jGit 4.11.8, and OmegaT 5.6 uses jGit 5.11.1
It is why the behavior changed for git signing.
Unfortunately OmegaT 5.6 does not have any GpgSigner related code, so the exception might be raised.
Last edit: Hiroshi Miura 2021-11-04
ref:
This seems make Gpg signing working
Last edit: Hiroshi Miura 2021-11-04
https://github.com/omegat-org/omegat/pull/163
I've added a preference option and UI to select whether omegat sign a commit or not.
I've dropped preference option, and see git config whether sign or not.
A fix is merged [247954a7803cb6b1d5f1d2d26ac923ff0fa3a501].
Related
Commit: [247954]
released 6.0