Hi, Tangential of bug#65787 [1], the annoyance is the order of the updates. It leads to poor messages. Let exemplify at the extreme case.
--8<---------------cut here---------------start------------->8--- $ guix describe Generation 28 sept. 06 2023 14:54:50 (current) guix 6113e05 repository URL: https://git.savannah.gnu.org/git/guix.git commit: 6113e0529d61df7425f64e30a6bf77f7cfdfe5a5 $ rm -fr ~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq $ guix time-machine -q --commit=6113e05 -- describe receiving objects 2% ▕█▋ …some time flies… indexing objects 21% ▕███████████████████████ ▏ …some time flies… Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'... …instant… Computing Guix derivation for 'x86_64-linux'... \ --8<---------------cut here---------------end--------------->8--- The reason is because the logic: (when (procedure? validate-channels) (validate-channels channels)) (run-with-store store (mlet* %store-monad ((instances -> (latest-channel-instances store channels #:authenticate? authenticate?)) where ’validate-channels’ (validate-guix-channel) reads, (checkout commit relation (update-cached-checkout (channel-url guix-channel) #:ref reference #:starting-commit %oldest-possible-commit))) and ’latest-channel-instances’ which is the ones that displays, (format (current-error-port) (G_ "Updating channel '~a' from Git repository at '~a'...~%") (channel-name channel) (channel-url channel)) this ’latest-channel-instances’ reads under the hood, ((checkout commit relation) (update-cached-checkout (channel-url channel) #:ref (channel-reference channel) #:starting-commit starting-commit))) Why not move this ’validate-guix-channel’ to internals. Somehow, it is in guix/scripts/ because it captures ’ref’. However, this capture is redundant and is normally managed by ’channel-list’. Therefore, I would be tempted to have this validation for the reachable commit close to the “Updating” message. WDYT? Cheers, simon 1: <https://issues.guix.gnu.org/issue/65787>