[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/05: pull: Preserve channel ordering when using '--commit', '--url', e
From: |
guix-commits |
Subject: |
01/05: pull: Preserve channel ordering when using '--commit', '--url', etc. |
Date: |
Thu, 15 Jun 2023 18:18:00 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit a3beb8d741e88f30765f4e3bc525c3433bf49498
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu Jun 15 10:34:31 2023 +0200
pull: Preserve channel ordering when using '--commit', '--url', etc.
Previously using '--url', '--commit', or '--branch' would move the
'guix' channel to the front. This is okay in itself but it gratuitously
leads to a different cache key in 'cached-channel-instance'--IOW, 'guix
time-machine --commit=X' where X is already in cache would gratuitously
recompute the channel derivations.
* guix/scripts/pull.scm (channel-list): Use 'map' instead of 'find' +
'remove' + 'cons'.
---
guix/scripts/pull.scm | 31 +++++++++++++++----------------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index cd2e470289..ecd264d3fa 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -769,22 +769,21 @@ Use '~/.config/guix/channels.scm' instead."))
(url (or (assoc-ref opts 'repository-url)
(environment-variable))))
(if (or ref url)
- (match (find guix-channel? channels)
- ((? channel? guix)
- ;; Apply '--url', '--commit', and '--branch' to the 'guix' channel.
- (let ((url (or url (channel-url guix))))
- (cons (match ref
- (('commit . commit)
- (channel (inherit guix)
- (url url) (commit commit) (branch #f)))
- (('branch . branch)
- (channel (inherit guix)
- (url url) (commit #f) (branch branch)))
- (#f
- (channel (inherit guix) (url url))))
- (remove guix-channel? channels))))
- (#f ;no 'guix' channel, failure will ensue
- channels))
+ ;; Apply '--url', '--commit', and '--branch' to the 'guix' channel.
+ (map (lambda (c)
+ (if (guix-channel? c)
+ (let ((url (or url (channel-url c))))
+ (match ref
+ (('commit . commit)
+ (channel (inherit c)
+ (url url) (commit commit) (branch #f)))
+ (('branch . branch)
+ (channel (inherit c)
+ (url url) (commit #f) (branch branch)))
+ (#f
+ (channel (inherit c) (url url)))))
+ c))
+ channels)
channels)))
(define (validate-cache-directory-ownership)
- branch master updated (6e1215fb9c -> 31336e9f5d), guix-commits, 2023/06/15
- 03/05: guix home: Add missing SRFI-34 import for 'raise'., guix-commits, 2023/06/15
- 01/05: pull: Preserve channel ordering when using '--commit', '--url', etc.,
guix-commits <=
- 04/05: avahi: Resolve hosts for which name resolution fails., guix-commits, 2023/06/15
- 02/05: services: qemu-guest-agent: Add dependency on udev., guix-commits, 2023/06/15
- 05/05: gnu: Add python-pdoc., guix-commits, 2023/06/15