Précédent: La chaîne d’outils GCC, Monter: Développement [Table des matières][Index]
guix git authenticate
La commande guix git authenticate
authentifie un checkout Git en
suivant la même règle que pour les canaux (voir channel authentication). C’est-à-dire qu’à partir d’un commit donné, il
s’assure que tous les commit suivants sont signés par une clé OpenPGP dont
l’empreinte digitale apparaît dans le fichier .guix-authorizations de
son ou ses commit(s) parent(s).
Vous allez trouver cette commande utile si vous maintenez un canal. Mais en fait, ce mécanisme d’authentification est utile dans un contexte plus large, Vous pourriez donc vouloir l’utiliser pour des dépôts Git qui n’ont rien à voir avec Guix.
La syntaxe générale est :
guix git authenticate commit signer [options…]
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 (voir 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.
--repository=répertoire
-r répertoire
Ouvre le dépôt Git dans directory au lieu du répertoire courant.
--keyring=référence
-k féférence
Chargez le porte-clés OpenPGP à partir de référence, la référence
d’une branche telle que origin/keyring
ou my-keyring
. La
branche doit contenir des clés publiques OpenPGP dans des fichiers
.key, soit sous forme binaire, soit "blindée ASCII". Par défaut, le
porte-clés est chargé à partir de la branche nommée keyring
.
--end=commit
Authenticate revisions up to commit.
--stats
Affiche les statistiques sur les signatures de commits à l’issue de la procédure.
--cache-key=key
Les commits préalablement authentifiés sont mis en cache dans un fichier sous ~/.cache/guix/authentication. Cette option force le cache à être stocké dans le fichier key de ce répertoire.
--historical-authorizations=fichier
Par défaut, tout commit dont le(s) commit(s) parent(s) ne contient(nt) pas le fichier .guix-authorizations est considéré comme non authentique. En revanche, cette option considère les autorisations dans file pour tout commit dont le fichier .guix-authorizations est manquant. Le format de file est le même que celui de .guix-authorizations (au format voir .guix-autorizations).
Précédent: La chaîne d’outils GCC, Monter: Développement [Table des matières][Index]