scripts: system: Do not pull checkouts for same commit.

In case a user reconfigures to the same commit, do not
update cached checkout unnecessarily.

* guix/scripts/system/reconfigure.scm (channel-relations): Return early for
matching old and new commits.

Change-Id: Ia4b7300bbce40f7d809946dd3514715b74cd17f9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
This commit is contained in:
Rutherther 2025-11-20 18:06:11 +01:00
parent 2a0ac4cba5
commit 0ecfe335b9
No known key found for this signature in database
GPG key ID: 0322798269E471C3

View file

@ -407,15 +407,19 @@ to commits of channels in NEW."
(channel-name old)))
new)))
(and new
(let ((checkout commit relation
(update-cached-checkout
(channel-url new)
#:ref `(commit . ,(channel-commit new))
#:starting-commit (channel-commit old)
#:check-out? #f)))
(list new
(channel-commit old) (channel-commit new)
relation)))))
(if (string=? (channel-commit old) (channel-commit new))
(list new
(channel-commit old) (channel-commit new)
'self)
(let ((checkout commit relation
(update-cached-checkout
(channel-url new)
#:ref `(commit . ,(channel-commit new))
#:starting-commit (channel-commit old)
#:check-out? #f)))
(list new
(channel-commit old) (channel-commit new)
relation))))))
old))
(define* (check-forward-update #:optional