]> Nutra Git (v1) - gamesguru/git-remote-gcrypt.git/commitdiff
Use git's the gpg.program if configured
authorchrysn <chrysn@fsfe.org>
Tue, 10 Nov 2015 12:52:49 +0000 (13:52 +0100)
committerchrysn <chrysn@fsfe.org>
Mon, 21 Dec 2015 16:09:14 +0000 (17:09 +0100)
Keyrings managed with gpg2 can contain secret keys whose public part is
unavailable to classic gpg; on the other hand, gpg2 won't see keys
created in gpg after an initial import.

Situations in which error messages like "gpg: error reading key: public
key not found" pop up can now be circumvented by setting the gpg.program
git configuration entry to gpg2.

git-remote-gcrypt

index 8d686695faf84989f186f956b7cd4964d04fc7d0..3d8a39bb6cd15899ea214da5c9b72a111229012e 100755 (executable)
@@ -30,6 +30,7 @@ Manifestfile=91bd0c092128cf2e60e1a608c31e92caf1f9c1595f83f2890ef17c0e4881aa0a
 Hex40="[a-f0-9]"
 Hex40=$Hex40$Hex40$Hex40$Hex40$Hex40$Hex40$Hex40$Hex40
 Hex40=$Hex40$Hex40$Hex40$Hex40$Hex40 # Match SHA-1 hexdigest
+GPG="$(git config --get "gpg.program" '.+' || echo gpg)"
 
 Did_find_repo=  # yes for connected, no for no repo
 Localdir="${GIT_DIR:=.git}/remote-gcrypt"
@@ -371,9 +372,9 @@ rungpg()
        # due to trying to print messages to it, even if a gpg agent is set
        # up. --no-tty fixes this.
        if [ "x$GPG_AGENT_INFO" != "x" ]; then
-               gpg --no-tty "$@"
+               ${GPG} --no-tty "$@"
        else
-               gpg "$@"
+               ${GPG} "$@"
        fi
 }