git-authenticate: Use the 'origin/keyring' branch by default.
authorLudovic Courtès <ludo@gnu.org>
Thu, 7 May 2020 09:52:23 +0000 (11:52 +0200)
committerLudovic Courtès <ludo@gnu.org>
Thu, 7 May 2020 10:55:14 +0000 (12:55 +0200)
Previously one would need to have a worktree for the local 'keyring'
branch.

Reported by reepca and bricewge on #guix.

* build-aux/git-authenticate.scm (load-keyring-from-reference): Use
'branch-lookup' instead of 'reference-lookup'.  Add "origin/" to
REFERENCE.
(authenticate-commits): Have #:keyring-reference default to "keyring".

build-aux/git-authenticate.scm

index 7bb3af6..ab50459 100644 (file)
@@ -337,7 +337,9 @@ may not be ASCII-armored."
 (define (load-keyring-from-reference repository reference)
   "Load the '.key' files from the tree at REFERENCE in REPOSITORY and return
 an OpenPGP keyring."
-  (let* ((reference (reference-lookup repository reference))
+  (let* ((reference (branch-lookup repository
+                                   (string-append "origin/" reference)
+                                   BRANCH-REMOTE))
          (target    (reference-target reference))
          (commit    (commit-lookup repository target))
          (tree      (commit-tree commit)))
@@ -353,7 +355,7 @@ an OpenPGP keyring."
 
 (define* (authenticate-commits repository commits
                                #:key
-                               (keyring-reference "refs/heads/keyring")
+                               (keyring-reference "keyring")
                                (report-progress (const #t)))
   "Authenticate COMMITS, a list of commit objects, calling REPORT-PROGRESS for
 each of them.  Return an alist showing the number of occurrences of each key.