From 0eddeb9896985e4139f412e41991ac5633a104ba Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 22 Apr 2023 23:35:59 -0400 Subject: teams: Add 'cc-members-header-cmd' action. * etc/teams.scm.in (patch->teams): New procedure. (main): Use it. Add a new "cc-members-header-cmd" command; document it. --- etc/teams.scm.in | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'etc') diff --git a/etc/teams.scm.in b/etc/teams.scm.in index 37a3c8e191..408db8b7d5 100644 --- a/etc/teams.scm.in +++ b/etc/teams.scm.in @@ -5,7 +5,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022, 2023 Ricardo Wurmus ;;; Copyright © 2022 Mathieu Othacehe -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -696,6 +696,12 @@ and REV-END, two git revision strings." (rev-start (string-append rev-end "^"))) (list rev-start rev-end))) +(define (patch->teams patch-file) + "Return the name of the teams in scope for the changes in PATCH-FILE." + (map (compose symbol->string team-id) + (find-team-by-scope (apply diff-revisions + (git-patch->revisions patch-file))))) + (define (main . args) (match args @@ -708,11 +714,13 @@ and REV-END, two git revision strings." (("cc-members" rev-start rev-end) (apply cc (find-team-by-scope (diff-revisions rev-start rev-end)))) + (("cc-members-header-cmd" patch-file) + (for-each (lambda (team-name) + (list-members (find-team team-name) (current-output-port) + "X-Debbugs-Cc: ")) + (patch->teams patch-file))) (("get-maintainer" patch-file) - (apply main "list-members" - (map (compose symbol->string team-id) - (find-team-by-scope (apply diff-revisions - (git-patch->revisions patch-file)))))) + (apply main "list-members" (patch->teams patch-file))) (("list-teams" . args) (list-teams)) (("list-members" . team-names) @@ -729,6 +737,8 @@ Commands: get git send-email flags for cc-ing cc-members | patch cc teams related to files changed between revisions or in a patch file + cc-members-header-cmd + cc-members variant for use with 'git send-email --header-cmd' list-teams list teams and their members list-members -- cgit 1.4.1