From eb6e174eb86b339dd872e5b3c3c10d6d6e176940 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 24 Feb 2026 14:47:03 +0800 Subject: [PATCH] etc: Update committer.scm. --- etc/committer.scm | 50 ++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/etc/committer.scm b/etc/committer.scm index 808272e..0e4680e 100755 --- a/etc/committer.scm +++ b/etc/committer.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2020, 2021, 2022, 2023 Ricardo Wurmus ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021 Xinglu Chen -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022 Maxim Cournoyer ;;; Commentary: @@ -267,37 +267,43 @@ corresponding to the top-level definition containing the staged changes." (define variable-name (second old)) (define version - (and=> ((xpath:node-or + (match ((xpath:node-or (xpath:sxpath '(*any* *any* package version *any*)) ;; For let binding (xpath:sxpath '(*any* *any* (*any*) package version *any*))) (cons '*TOP* new)) - first)) - (format port - "rosenthal: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%" - variable-name version file-name variable-name version) + (() #f) + ((version . rest) version))) + (if version + (format port + "rosenthal: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%" + variable-name version file-name variable-name version) + (format port + "rosenthal: ~a: Update.~%~%* ~a (~a): Update.~%" + variable-name file-name variable-name)) (for-each (lambda (field) (let ((old-values (get-values old field)) (new-values (get-values new field))) (or (equal? old-values new-values) (let ((removed (lset-difference equal? old-values new-values)) (added (lset-difference equal? new-values old-values))) - (format port - "[~a]: ~a~%" field - (break-string - ;; A dependency can be a list of (pkg output). - (match (list (map object->string removed) - (map object->string added)) - ((() added) - (format #f "Add ~a." - (listify added))) - ((removed ()) - (format #f "Remove ~a." - (listify removed))) - ((removed added) - (format #f "Remove ~a; add ~a." - (listify removed) - (listify added)))))))))) + (unless (and (null? added) (null? removed)) + (format port + "[~a]: ~a~%" field + (break-string + ;; A dependency can be a list of (pkg output). + (match (list (map object->string removed) + (map object->string added)) + ((() added) + (format #f "Add ~a." + (listify added))) + ((removed ()) + (format #f "Remove ~a." + (listify removed))) + ((removed added) + (format #f "Remove ~a; add ~a." + (listify removed) + (listify added))))))))))) '(inputs propagated-inputs native-inputs))) (define* (add-commit-message file-name variable-name