Subject: Re: [PATCH v2 2/2] scripts: Add `guix git authenticate --branch`.

From: Liliana Marie Prikler <[email-masked]>
Date: Sun, 23 Feb 2025 14:56:20 +0100

Am Sonntag, dem 23.02.2025 um 18:50 +0530 schrieb 45mg:
>  (define* (record-configuration repository
> +                               #:optional branch
>                                 #:key commit signer keyring-
> reference)
>    "Record COMMIT, SIGNER, and KEYRING-REFERENCE in the 'config' file
> of
> -REPOSITORY."
> +REPOSITORY, under [guix \"authentication\"].
> +If BRANCH is given, record them under [guix \"authentication-
> BRANCH\"]."
>    (define config
>      (repository-config repository))
> +  (define section
> +    (if branch
> +        (string-append "guix.authentication-" branch)
> +        "guix.authentication"))
>  
>    ;; Guile-Git < 0.7.0 lacks 'set-config-string'.
>    (if (module-defined? (resolve-interface '(git)) 'set-config-
> string)
>        (begin
> -        (set-config-string config "guix.authentication.introduction-
> commit"
> +        (set-config-string config (string-append section
> ".introduction-commit")
>                             commit)
> -        (set-config-string config "guix.authentication.introduction-
> signer"
> +        (set-config-string config (string-append section
> ".introduction-signer")
>                             signer)
> -        (set-config-string config "guix.authentication.keyring"
> +        (set-config-string config (string-append section ".keyring")
>                             keyring-reference)
>          (info (G_ "introduction and keyring recorded \
>  in repository configuration file~%")))
I would use guix.authentication[.BRANCH].KEY for consistency.  Yes, you
can use periods in Git config subsection names as per [1]:
> Subsection names are case sensitive and can contain any characters
> except newline and the null byte. 

Cheers

[1] https://git-scm.com/docs/git-config