3 #=======================================================================
4 # git-add-missing-gpg-keys
5 # File ID: e53738b0-9caa-11e3-a01a-001f3b596ec9
7 # Add missing GPG keys used for signed Git tags and commits.
9 # Author: Øyvind A. Holm <sunny@sunbase.org>
10 # License: GNU General Public License version 2 or later.
11 #=======================================================================
13 progname
=git-add-missing-gpg-keys
25 " -n "$progname" -- "$@
")"
26 test "$?" = "0" ||
exit 1
34 -h|
--help) opt_help
=1; shift ;;
35 -q|
--quiet) opt_quiet
=$
(($opt_quiet + 1)); shift ;;
36 -v|
--verbose) opt_verbose
=$
(($opt_verbose + 1)); shift ;;
37 --version) echo $progname $VERSION; exit 0 ;;
39 *) echo $progname: Internal error
>&2; exit 1 ;;
42 opt_verbose
=$
(($opt_verbose - $opt_quiet))
44 if test "$opt_help" = "1"; then
45 test $opt_verbose -gt 0 && { echo; echo $progname $VERSION; }
48 Add missing GPG keys used for signed Git tags and commits.
50 Usage: $progname [options]
57 Be more quiet. Can be repeated to increase silence.
59 Increase level of verbosity. Can be repeated.
61 Print version information.
67 LC_ALL
=C git log
--show-signature "$@" | \
68 grep "^gpg: Can't check signature: public key not found" -B1 | \
70 rev | cut
-f 1 -d ' ' |
rev | \
74 cd ~
/.gnupg ||
{ echo $progname: ~
/.gnupg
: Cannot chdir
>&2; exit 1; }
78 until test "$files_gone" = "1"; do
80 if (( ${#array[@]} > 0 )); then
81 echo $progname: Waiting
for tmpfiles to disappear...
87 ciall
-y "gpg --recv-keys $f"