diff --git a/core/cli/packages.el b/core/cli/packages.el index 625ab25ad..54cd996cb 100644 --- a/core/cli/packages.el +++ b/core/cli/packages.el @@ -156,6 +156,11 @@ declaration) or dependency thereof that hasn't already been." (let ((commit (straight-vc-get-commit type local-repo)) (newcommit (cdr (assoc (or local-repo package) versions-alist))) fetch-p) + (when (and (stringp newcommit) + (string-match-p (concat "^" (regexp-quote newcommit)) commit)) + (print! (start "\033[K(%d/%d) %s is up-to-date...\033[1A") + i total package) + (throw 'skip t)) (unless (or (and (stringp newcommit) (straight-vc-commit-present-p recipe newcommit) (print! (start "\033[K(%d/%d) Checking out %s (%s)...\033[1A") @@ -168,7 +173,7 @@ declaration) or dependency thereof that hasn't already been." i total (or local-repo package)) (throw 'skip t)) (let ((output (straight--process-get-output))) - (if newcommit + (if (and (stringp newcommit) (straight-vc-commit-present-p recipe newcommit)) (straight-vc-check-out-commit recipe newcommit) (straight-merge-package package) (setq newcommit (straight-vc-get-commit type local-repo)))