guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/05: git: 'switch-to-ref' resolves tag targets.


From: guix-commits
Subject: 04/05: git: 'switch-to-ref' resolves tag targets.
Date: Fri, 26 Jul 2019 05:23:34 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 10a8c2bbc6754bddb0e5d668b3ecc9050efd820b
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jul 26 11:16:10 2019 +0200

    git: 'switch-to-ref' resolves tag targets.
    
    * guix/git.scm (switch-to-ref): In the 'tag' case, resolve the target of
    the tag.
    * tests/guix-build-branch.sh: Adjust test accordingly.
---
 guix/git.scm               | 6 +++++-
 tests/guix-build-branch.sh | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/guix/git.scm b/guix/git.scm
index 8525262..de98fed 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -172,7 +172,11 @@ OID (roughly the commit hash) corresponding to REF."
         (('tag    . tag)
          (let ((oid (reference-name->oid repository
                                          (string-append "refs/tags/" tag))))
-           (object-lookup repository oid))))))
+           ;; 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))))))))
 
   (reset repository obj RESET_HARD)
   (object-id obj))
diff --git a/tests/guix-build-branch.sh b/tests/guix-build-branch.sh
index 0cec7c7..3d2a7dd 100644
--- a/tests/guix-build-branch.sh
+++ b/tests/guix-build-branch.sh
@@ -54,7 +54,7 @@ test "$v0_1_0_drv" != "$orig_drv"
 
 v0_1_0_drv="`guix build guix --with-commit=guile-gcrypt=v0.1.0 -d`"
 guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-git.v0.1.0
-guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-8fe64e8 # this is the *tag* ID
+guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-9e3eacd
 test "$v0_1_0_drv" != "$latest_drv"
 test "$v0_1_0_drv" != "$orig_drv"
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]