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

From: Liliana Marie Prikler <[email-masked]>
Date: Mon, 24 Feb 2025 21:22:17 +0100

Am Montag, dem 24.02.2025 um 12:45 +0000 schrieb 45mg:
> Liliana Marie Prikler <[email-masked]> writes:
> 
> > 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. 
> 
> This would indeed be cleaner. But as you can see in the diffs for
> `config-value` and guix.texi, 'guix.authentication-BRANCH' was
> already chosen, and I didn't want to break anyone's workflow by
> changing it.
Uhm… if I read this correctly, this is still a patch in progress and
not *that* widely used, no?  Is there prior art to go by?

Cheers