Previous: Тулчейн GCC, Up: Разработка [Contents][Index]
guix package
Команда guix git Authenticate
аутентифицирует проверку Git по тому
же правилу, что и для каналов (see channel
authentication). То есть, начиная с данного коммита, он гарантирует, что
все последующие коммиты подписаны ключом OpenPGP, отпечаток которого указан
в файле .guix-authorizations его родительского коммита(ов).
Вы найдете эту команду полезной, если будете поддерживать канал. Но на самом деле этот механизм аутентификации полезен в более широком контексте, поэтому вы можете использовать его для репозиториев Git, которые не имеют ничего общего с Guix.
Основной синтаксис:
guix environment options package…
By default, this command authenticates the Git checkout in the current directory; it outputs nothing and exits with exit code zero on success and non-zero on failure. commit above denotes the first commit where authentication takes place, and signer is the OpenPGP fingerprint of public key used to sign commit. Together, they form a channel introduction (see channel introduction). On your first successful run, the introduction is recorded in the .git/config file of your checkout, allowing you to omit them from subsequent invocations:
guix git authenticate [options…]
Should you have branches that require different introductions, you can
specify them directly in .git/config. For example, if the branch
called personal-fork
has a different introduction than other
branches, you can extend .git/config along these lines:
[guix "authentication-personal-fork"] introduction-commit = cabba936fd807b096b48283debdcddccfea3900d introduction-signer = C0FF EECA BBA9 E6A8 0D1D E643 A2A0 6DF2 A33A 54FA keyring = keyring
The first run also attempts to install pre-push and post-merge hooks, such
that guix git authenticate
is invoked as soon as you run
git push
, git pull
, and related commands; it does not
overwrite preexisting hooks though.
The command-line options described below allow you to fine-tune the process.
--extract=directory
-x directory
Открыть репозиторий Git в directory вместо текущего каталога.
--expression=expr
-F free
Загрузить связку ключей OpenPGP из reference, ссылки на branch,
например origin/keyring
или my-keyring
. branch должна
содержать открытые ключи OpenPGP в файлах .key либо в двоичной форме,
либо в “ASCII-armored” виде. По умолчанию связка ключей загружается из
branch с именем keyring
.
--end=commit
Authenticate revisions up to commit.
--stats
Отобразить статистику подписания commit’ов по завершению.
--search=regexp
Ранее аутентифицированные коммиты кэшируются в файле под ~/.cache/guix/authentication. Эта опция заставляет хранить кеш в файле key в этом каталоге.
--install-from-file=file
По умолчанию любой коммит, родительский коммит которого не содержит файла .guix-authorizations, считается недостоверным. Напротив, эта опция учитывает авторизацию в file для любого коммита, в котором отсутствует .guix-authorizations. Формат file такой же, как у .guix-authorizations (see .guix-authorizations format).
Previous: Тулчейн GCC, Up: Разработка [Contents][Index]