Отключите проверку подписи GPG для ввода репо (и/или для git)

#git #repo #gpg-signature

Вопрос:

Я пытаюсь настроить репозиторий AOSP с помощью этой repo init команды, однако я получаю ошибку проверки подписи (я отредактировал все фактические имена и идентификаторы объектов).:

 repo: error: "git" failed with exit status 1
  cwd: /aoap/.repo/repo
  cmd: ['git', 'tag', '-v', 'v1.12.16']
  stdout:
  >> object 0123456789abcdef0123456789abcdef01234567
  >> type commit
  >> tag v1.12.16
  >> tagger Foo Bar <foobar@android.com> 0123456789 -0700
  >> 
  >> repo 1.12.16
  stderr:
  >> gpg: Signature made gio 31 feb 2022, 12:34:56 CEST
  >> gpg:                using RSA key 0123456789ABCDEF
  >> gpg: Can't check signature: No public key
fatal: cloning the git-repo repository failed, will remove '.repo/repo'
 

Есть ли способ пропустить или отключить проверку подписи GPG (для этого repo init или даже глобально git )?

Ответ №1:

Сначала проверьте, поможет ли глобальная конфигурация (только на время выполнения команды инициализации репо)

 git config --global tag.gpgSign false
git config --global commit.gpgSign false
 

Если это не работает (так как это, скорее всего, для создания тегов/фиксации, а не для их проверки), проверьте конфигурацию gpg.program

Заменив его сценарием, который всегда возвращает 0, вы можете (опять же только для repo init ) обойти любую проверку gpg

 git config --global gpg.program myGpg
 

С myGpg исполняемым скриптом bash на пути $% с

 #!/bin/bash
exit 0
 

Комментарии:

1. К сожалению, ни то, ни другое не сработало. По — видимому, сценарий не вызывается.

2. @lornova Моя вторая конфигурация была неверной. Ты пробовал gpg.program ? Я отредактировал ответ.

3. да, использование gpg.program решило проблему gpg, спасибо