Subject: bug#63726: time-machine without options does not get the latest commit

From: Simon Tournier <[email-masked]>
Date: Thu, 25 May 2023 15:52:26 +0200

Hi,

Well, I do not know if it is a bug or if I misuse something.  Feel free
to close if I am missing a point.

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 25	mai 19 2023 13:30:14	(current)
  guix 14c0380
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 14c03807ba4bc81d42cf869f5b827f7da54ff843

$ git -C ~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq log --oneline -1
14c03807ba4 (HEAD -> master) gnu: ruby-3.2: Upgrade to 3.2.2 [fixes CVE-2023-{28755, 28756}].
--8<---------------cut here---------------end--------------->8---

Well, that’s just a luck that both commit hash matches.

Now, what I am missing.  The manual says:

       As for ‘guix pull’, the absence of any options means that the latest
    commit on the master branch will be used.  The command

         guix time-machine -- build hello

       will thus build the package ‘hello’ as defined in the master branch,
    which is in general a newer revision of Guix than you have installed.
    Time travel works in both directions!

and I get:

--8<---------------cut here---------------start------------->8---
$ guix time-machine -- describe
  guix e499cb2
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: e499cb2c12d7f1c6d2f004364c9cc7bdb7e38cd5
--8<---------------cut here---------------end--------------->8---

But I do not understand from where this commit hash is coming from.  And
please note that this commit seems coming from my previous experiments
reported in #63667 [1].

Well, the last commit seems a9cde26133b,

--8<---------------cut here---------------start------------->8---
$ git -C ~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq log origin/master --oneline -1
a9cde26133b (origin/master, origin/HEAD) gnu: Add mouseloupe.
--8<---------------cut here---------------end--------------->8---

Therefore, let create a Guix revision:

--8<---------------cut here---------------start------------->8---
$ guix time-machine --commit=a9cde26133b -- describe
  guix a9cde26
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: a9cde26133bd98498869a3528d9dff0d3f456a96
--8<---------------cut here---------------end--------------->8---

However, still this e499cb2 one:

--8<---------------cut here---------------start------------->8---
$ guix time-machine -- describe
  guix e499cb2
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: e499cb2c12d7f1c6d2f004364c9cc7bdb7e38cd5
--8<---------------cut here---------------end--------------->8---

Cheers,
simon

1: https://issues.guix.gnu.org/issue/63667