Subject: bug#41908: closed (Re: bug#41908: guix time-machine fails; XXXX is not related to introductory commit of channel 'guix')

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 21 Jun 2020 15:44:03 +0000

Your bug report

#41908: guix time-machine fails; XXXX is not related to introductory commit of channel 'guix'

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
41908: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41908
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#41908: guix time-machine fails; XXXX is not related to introductory commit of channel 'guix'
From: Ludovic Courtès <[email-masked]>
To: Jan Nieuwenhuizen <[email-masked]>
Cc: [email-masked], Marius Bakke <[email-masked]>
Date: Sun, 21 Jun 2020 17:43:17 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi, Sunday hackers!

Ludovic Courtès <[email-masked]> skribis:

> Jan Nieuwenhuizen <[email-masked]> skribis:
>
>> $ guix pull --commit=559491ea5b36b89b2a2f9d48dacf6a2d7e219910
>> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
>> Building from this channel:
>>   guix      https://git.savannah.gnu.org/git/guix.git	559491e
>> [...]
>> hint: Run `guix pull --news' to read all the news.
>>
>> 11:23:19 janneke@dundal:~/src/guix/master
>> $ guix time-machine --commit=36640207c9543e48cd6daa92930f023f80065a5d -- environment hello
>> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
>> guix time-machine: error: '36640207c9543e48cd6daa92930f023f80065a5d' is not related to introductory commit of channel 'guix'
>>
>> [1]11:23:25 janneke@dundal:~/src/guix/master
>> git log --pretty=oneline | grep 36640207c9543e48cd6daa92930f023f80065a5d
>> 36640207c9543e48cd6daa92930f023f80065a5d quirks: Build 'compute-guix-derivation' modules with 2.2 when needed.
>
> I think ‘commit-relation’ is right: the two commits are unrelated.
>
> AIUI, commit 36640207c9543e48cd6daa92930f023f80065a5d was made on master
> (May 29) after commit 9edb3f66fd807b096b48283debdcddccfea34bad (May
> 26).  Thus, they really existed in different branches, and they’re
> unrelated.

Thinking more about it, I think the test that leads to the error above
is in fact bogus (that’s what you were hinting at, Simon).  Namely, it
reads:

    (define commits
      ;; Commits to authenticate, excluding the closure of
      ;; AUTHENTICATED-COMMITS.
      (commit-difference end-commit start-commit
                         authenticated-commits))

     ;; When COMMITS is empty, it's either because AUTHENTICATED-COMMITS
     ;; contains END-COMMIT or because END-COMMIT is not a descendant of
     ;; START-COMMIT.  Check that.

But that’s wrong: If START-COMMIT and END-COMMIT are unrelated, then
‘commit-difference’ will return a whole lot of commits (those who are
not both in the closure of START-COMMIT and that of END-COMMIT).

The difference between 36640207c9543e48cd6daa92930f023f80065a5d and
9edb3f66fd807b096b48283debdcddccfea34bad is a set of 664 commits, as
shown with “git log --oneline 9edb3f6..3664020 | wc -l” or by calling
‘commit-difference’.

Those 664 commits are those that were made on master between
9edb3f66fd807b096b48283debdcddccfea34bad’s parent on master, and
36640207c9543e48cd6daa92930f023f80065a5d.  They can be authenticated
just fine.

If someone passed ‘--allow-downgrades’ and tries to jump to an unrelated
commit, authentication will fail on some commit.  So I think the test
was just enforcing an additional restriction that was unnecessary.

I removed that test in e4a4287c5fb51c0e47431606df5ee78b953d71f8; we can
keep the introductory commit unchanged, all is good!  Let me know what
you think.

Thanks,
Ludo’.

Subject: guix time-machine fails; XXXX is not related to introductory commit of channel 'guix'
From: Jan Nieuwenhuizen <[email-masked]>
To: [email-masked]
Date: Wed, 17 Jun 2020 11:27:53 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

After pulling this morning, guix time-machine fails, look:

--8<---------------cut here---------------start------------->8---
$ guix pull --commit=559491ea5b36b89b2a2f9d48dacf6a2d7e219910
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
  guix      https://git.savannah.gnu.org/git/guix.git	559491e
[...]
hint: Run `guix pull --news' to read all the news.

11:23:19 janneke@dundal:~/src/guix/master
$ guix time-machine --commit=36640207c9543e48cd6daa92930f023f80065a5d -- environment hello
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
guix time-machine: error: '36640207c9543e48cd6daa92930f023f80065a5d' is not related to introductory commit of channel 'guix'

[1]11:23:25 janneke@dundal:~/src/guix/master
git log --pretty=oneline | grep 36640207c9543e48cd6daa92930f023f80065a5d
36640207c9543e48cd6daa92930f023f80065a5d quirks: Build 'compute-guix-derivation' modules with 2.2 when needed.
--8<---------------cut here---------------end--------------->8---

Am I missing something?

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com