Subject: bug#44187: [PATCH 3/3] git: 'reference-available?' recognizes 'tag-or-commit'.

From: Ludovic Courtès <[email-masked]>
Date: Fri, 10 Sep 2021 16:34:15 +0200

* guix/git.scm (reference-available?): Handle 'tag-or-commit' with a
40-digit hex string.
---
 guix/git.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/guix/git.scm b/guix/git.scm
index 377e09888a..33a111b84a 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -36,7 +36,7 @@
   #:use-module (guix sets)
   #:use-module ((guix diagnostics) #:select (leave))
   #:use-module (guix progress)
-  #:autoload   (guix swh) (swh-download)
+  #:autoload   (guix swh) (swh-download commit-id?)
   #:use-module (rnrs bytevectors)
   #:use-module (ice-9 format)
   #:use-module (ice-9 match)
@@ -340,7 +340,8 @@ dynamic extent of EXP."
   "Return true if REF, a reference such as '(commit . \"cabba9e\"), is
 definitely available in REPOSITORY, false otherwise."
   (match ref
-    (('commit . commit)
+    ((or ('commit . commit)
+         ('tag-or-commit . (? commit-id? commit)))
      (let ((len (string-length commit))
            (oid (string->oid commit)))
        (false-if-git-not-found
-- 
2.33.0