Subject: bug#52694: time-machine error when leaping from version-1.2.0 to version-1.4.0

From: Thiago Jung Bauermann <[email-masked]>
Date: Tue, 21 Dec 2021 10:54:03 -0300

Hello,

zimoun <[email-masked]> writes:

> Hi Carl,
>
> On Mon, 20 Dec 2021 at 17:28, Carl Dong <[email-masked]> wrote:
>
>> $ guix time-machine --branch=version-1.2.0 -- time-machine --commit=6dffced09ecda024e0884e352778c221ad066fd6 -- describe
>
> This works for me:
>
> $ guix time-machine --branch=version-1.2.0 -- time-machine --commit=6dffced09ecda024e0884e352778c221ad066fd6 -- describe
> Mise à jour du canal « guix » depuis le dépôt Git « https://git.savannah.gnu.org/git/guix.git »...
>   guix 6dffced
>     URL du dépôt : https://git.savannah.gnu.org/git/guix.git
>     commit : 6dffced09ecda024e0884e352778c221ad066fd6
>
>
> But another commit does not work:
>
> $ guix time-machine --branch=version-1.2.0 -- time-machine --commit=6786336 -- describe
> Mise à jour du canal « guix » depuis le dépôt Git « https://git.savannah.gnu.org/git/guix.git »...
> Backtrace:

I don’t think this is a problem specific to time-machine. I ran into what
I belive to be the same issue a couple of days ago on Ubuntu, when I was
using its Guix 1.2.0 package to pull to the current version in master:

--8<---------------cut here---------------start------------->8---
popigai: /usr/bin/guix --version
guix (GNU Guix) 1.2.0
Copyright (C) 2020 os autores do Guix
Licença GPLv3+: GNU GPLv3 ou posterior <http://gnu.org/licenses/gpl.html>
Esse é um software livre: você é livre para modificar ou redistribuí-lo.
NÃO HÁ GARANTIA, na máxima extensão permitida pela lei.
popigai: guix pull
Atualizando canal "guix" a partir do repositório Git "https://git.savannah.gnu.org/git/guix.git"...
Authenticating channel 'guix', commits 9edb3f6 to d627fba (28.728 new commits)...
Compilando a partir deste canal:
  guix      https://git.savannah.gnu.org/git/guix.git   d627fba
Backtrace:
           6 (apply-smob/1 #<catch-closure 7f5588926220>)
In ice-9/boot-9.scm:
    705:2  5 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8  4 (_ #(#(#<directory (guile-user) 7f558859c140>)))
In guix/ui.scm:
  2117:12  3 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9  2 (catch _ _ #<procedure 7f5588516280 at guix/ui.scm:702…> …)
    829:9  1 (catch _ _ #<procedure 7f5588516298 at guix/ui.scm:842…> …)
    829:9  0 (catch _ _ #<procedure 7f5585a460a8 at guix/scripts/pu…> …)

ice-9/boot-9.scm:829:9: In procedure catch:
Throw to key `match-error' with args `("match" "no matching pattern" (#:re-export-and-replace (delete) #:replace ((define-public* . define-public)) #:export (content-hash content-hash? content-hash-algorithm content-hash-value origin origin? this-origin origin-uri origin-method origin-hash origin-sha256 origin-file-name origin-actual-file-name origin-patches origin-patch-flags origin-patch-inputs origin-patch-guile origin-snippet origin-modules base32 base64 package package? this-package package-name package-upstream-name package-version package-full-name package-source package-build-system package-arguments package-inputs package-native-inputs package-propagated-inputs package-outputs package-native-search-paths package-search-paths package-replacement package-synopsis package-description package-license package-home-page package-supported-systems package-properties package-location package-definition-location hidden-package hidden-package? package-superseded deprecated-package package-field-location this-package-input this-package-native-input lookup-package-input lookup-package-native-input lookup-package-propagated-input lookup-package-direct-input prepend replace modify-inputs package-direct-sources package-transitive-sources package-direct-inputs package-transitive-inputs package-transitive-target-inputs package-transitive-native-inputs package-transitive-propagated-inputs package-transitive-native-search-paths package-transitive-supported-systems package-mapping package-input-rewriting package-input-rewriting/spec package-source-derivation package-derivation package-cross-derivation package-output package-grafts package-patched-vulnerabilities package-with-patches package-with-extra-patches package-with-c-toolchain package/inherit transitive-input-references %supported-systems %hurd-systems %cuirass-supported-systems supported-package? &package-error package-error? package-error-package &package-input-error package-input-error? package-error-invalid-input &package-cross-build-system-error package-cross-build-system-error? package->bag bag->derivation bag-direct-inputs bag-transitive-inputs bag-transitive-host-inputs bag-transitive-build-inputs bag-transitive-target-inputs package-development-inputs package-closure default-guile default-guile-derivation set-guile-for-build package-file package->derivation package->cross-derivation origin->derivation)))'.
popigai: (1) 
--8<---------------cut here---------------end--------------->8---

My workaround was to first pull to the commit corresponding to v1.3.0 and
then using that version to pull to current master, which worked.

-- 
Thanks,
Thiago