Vorige: GCC-Toolchain, Nach oben: Entwicklung [Inhalt][Index]
guix git authenticate
aufrufenDer Befehl guix git authenticate
authentifiziert ein Git-Checkout
nach derselben Regel wie für Kanäle (siehe Kanalauthentifizierung). Das bedeutet, dass angefangen beim angegebenen
Commit sichergestellt wird, dass alle nachfolgenden Commits mit einem
OpenPGP-Schlüssel signiert worden sind, dessen Fingerabdruck in der
.guix-authorizations-Datei seines bzw. seiner jeweiligen
Elterncommits aufgeführt ist.
Sie werden diesen Befehl zu schätzen wissen, wenn Sie einen Kanal betreuen. Tatsächlich ist dieser Authentifizierungsmechanismus aber auch bei weiteren Dingen nützlich; vielleicht möchten Sie ihn für Git-Repositorys einsetzen, die gar nichts mit Guix zu tun haben?
Die allgemeine Syntax lautet:
guix git authenticate Commit Unterzeichner [Optionen…]
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 (siehe 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=Verzeichnis
-r Verzeichnis
Das Git-Repository im Verzeichnis statt im aktuellen Verzeichnis öffnen.
--keyring=Referenz
-k Referenz
Den OpenPGP-Schlüsselbund („Keyring“) von der angegebenen Referenz
laden, einem Verweis auf einen Branch wie origin/keyring
oder
my-keyring
. Der Branch muss öffentliche Schlüssel im OpenPGP-Format
in .key-Dateien enthalten, entweder als Binärdateien oder mit
„ASCII-Hülle“. Nach Vorgabe wird der Schlüsselbund von einem Branch namens
keyring
geladen.
--end=Commit
Revisionen bis Commit authentifizieren.
--stats
Nach Abschluss Statistiken über die signierten Commits anzeigen.
--cache-key=Schlüssel
Bereits authentifizierte Commits werden in einer Datei unter ~/.cache/guix/authentication zwischengespeichert. Diese Option erzwingt, dass der Speicher innerhalb dieses Verzeichnisses in der Datei Schlüssel angelegt wird.
--historical-authorizations=Datei
Nach Vorgabe wird jeder Commit, dessen Elterncommit(s) die Datei .guix-authorizations fehlt, als gefälscht angesehen. Mit dieser Option werden dagegen die Autorisierungen in der Datei für jeden Commit ohne .guix-authorizations verwendet. Das Format der Datei ist dasselbe wie bei .guix-authorizations (siehe Format von .guix-authorizations).
Vorige: GCC-Toolchain, Nach oben: Entwicklung [Inhalt][Index]