diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-04-02 21:33:48 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-04-02 23:15:11 +0200 |
commit | efa578ecaece67366b4b0e2266de7c2faaa4ae54 (patch) | |
tree | 54fa472cea3661ce83915a0f3cc83a0ace4a45db /guix | |
parent | 70c128dc33a914c82112df295d06eac2806788e2 (diff) |
git: Don't try to resolve tags with 'tag-lookup'.
Fixes <https://bugs.gnu.org/40377>.
Reported by Brice Waegeneire <brice@waegenei.re>.
* guix/git.scm (switch-to-ref): In the 'tag case, remove call to
'tag-lookup'.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/git.scm | 9 |
1 files 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)) |