From efa578ecaece67366b4b0e2266de7c2faaa4ae54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 2 Apr 2020 21:33:48 +0200 Subject: [PATCH] git: Don't try to resolve tags with 'tag-lookup'. Fixes . Reported by Brice Waegeneire . * guix/git.scm (switch-to-ref): In the 'tag case, remove call to 'tag-lookup'. --- guix/git.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/guix/git.scm b/guix/git.scm index b1ce3ea451..5fffd429bd 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -182,11 +182,10 @@ OID (roughly the commit hash) corresponding to REF." (('tag . tag) (let ((oid (reference-name->oid repository (string-append "refs/tags/" tag)))) - ;; Get the commit that the tag at OID refers to. This is not - ;; strictly needed, but it's more consistent to always return the - ;; OID of a commit. - (object-lookup repository - (tag-target-id (tag-lookup repository oid)))))))) + ;; OID may point to a "tag" object, but it can also point directly + ;; to a "commit" object, as surprising as it may seem. Return that + ;; object, whatever that is. + (object-lookup repository oid)))))) (reset repository obj RESET_HARD) (object-id obj))