~ruther/guix-local

0ecfe335b9fe66f4120f4df503fd2eb21e847fde — Rutherther 3 months ago 2a0ac4c
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>
1 files changed, 13 insertions(+), 9 deletions(-)

M guix/scripts/system/reconfigure.scm
M guix/scripts/system/reconfigure.scm => guix/scripts/system/reconfigure.scm +13 -9
@@ 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