From: "Ludovic Courtès" <ludo@gnu.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 41908-done@debbugs.gnu.org
Subject: bug#41908: guix time-machine fails; XXXX is not related to introductory commit of channel 'guix'
Date: Sun, 21 Jun 2020 17:43:17 +0200 [thread overview]
Message-ID: <875zbka0h6.fsf@gnu.org> (raw)
In-Reply-To: <87366qeovy.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 19 Jun 2020 23:17:53 +0200")
Hi, Sunday hackers!
Ludovic Courtès <ludo@gnu.org> skribis:
> Jan Nieuwenhuizen <janneke@gnu.org> 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’.
next prev parent reply other threads:[~2020-06-21 15:44 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 9:27 bug#41908: guix time-machine fails; XXXX is not related to introductory commit of channel 'guix' Jan Nieuwenhuizen
2020-06-18 22:29 ` zimoun
2020-06-18 23:02 ` zimoun
2020-06-19 21:17 ` Ludovic Courtès
2020-06-19 23:22 ` zimoun
2020-06-20 10:40 ` Ludovic Courtès
2020-06-21 16:17 ` zimoun
2020-06-22 8:01 ` Ludovic Courtès
2020-06-20 13:58 ` Marius Bakke
2020-06-21 15:43 ` Ludovic Courtès [this message]
2020-06-21 16:18 ` zimoun
2020-06-22 8:54 ` zimoun
2020-06-23 7:35 ` Ludovic Courtès
2020-06-23 8:42 ` zimoun
2020-06-23 8:53 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875zbka0h6.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=41908-done@debbugs.gnu.org \
--cc=janneke@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.