Re: [PATCH] send-email: add --compose-cover option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/10/2023 12:27, Ben Dooks wrote:
Adding an option to automatically compose a cover letter would be
helpful to put the whole process of sending an series with a cover
into one command.

Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
---
  Documentation/git-send-email.txt |  5 +++++
  git-send-email.perl              | 11 ++++++++++-
  2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 41cd8cb424..f299732867 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -78,6 +78,11 @@ Missing From or In-Reply-To headers will be prompted for.
  +
  See the CONFIGURATION section for `sendemail.multiEdit`.
+--compose-cover::
+	Invoke a text editor (see GIT_EDITOR in linkgit:git-var[1])
+	to edit a cover letter generated by passing --cover-letter to
+	git-send-email before invoking the editor.
+

OOPS, clearly meant git-format-patch here, not git-send-email.


  --from=<address>::
  	Specify the sender of the emails.  If not specified on the command line,
  	the value of the `sendemail.from` configuration option is used.  If
diff --git a/git-send-email.perl b/git-send-email.perl
index 5861e99a6e..debec088f6 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -54,6 +54,7 @@ sub usage {
      --in-reply-to           <str>  * Email "In-Reply-To:"
      --[no-]xmailer                 * Add "X-Mailer:" header (default).
      --[no-]annotate                * Review each patch that will be sent in an editor.
+    --compose-cover		   * Open an editor on format-patch --cover-letter
      --compose                      * Open an editor for introduction.
      --compose-encoding      <str>  * Encoding to assume for introduction.
      --8bit-encoding         <str>  * Encoding to assume 8bit mails if undeclared
@@ -199,7 +200,7 @@ sub format_2822_time {
  # Variables we fill in automatically, or via prompting:
  my (@to,@cc,@xh,$envelope_sender,
  	$initial_in_reply_to,$reply_to,$initial_subject,@files,
-	$author,$sender,$smtp_authpass,$annotate,$compose,$time);
+	$author,$sender,$smtp_authpass,$annotate,$compose_cover,$compose,$time);
  # Things we either get from config, *or* are overridden on the
  # command-line.
  my ($no_cc, $no_to, $no_bcc, $no_identity);
@@ -512,6 +513,7 @@ sub config_regexp {
  		    "no-smtp-auth" => sub {$smtp_auth = 'none'},
  		    "annotate!" => \$annotate,
  		    "no-annotate" => sub {$annotate = 0},
+		    "compose-cover" => \$compose_cover,
  		    "compose" => \$compose,
  		    "quiet" => \$quiet,
  		    "cc-cmd=s" => \$cc_cmd,
@@ -782,6 +784,9 @@ sub is_format_patch_arg {
  	die __("Cannot run git format-patch from outside a repository\n")
  		unless $repo;
  	require File::Temp;
+	if ($compose_cover) {
+	    push @rev_list_opts, "--cover-letter";
+	}
  	push @files, $repo->command('format-patch', '-o', File::Temp::tempdir(CLEANUP => 1), @rev_list_opts);
  }
@@ -854,6 +859,8 @@ sub get_patch_subject { if ($annotate) {
  		do_edit($compose_filename, @files);
+	} elsif ($compose_cover) {
+		do_edit($files[0]);
  	} else {
  		do_edit($compose_filename);
  	}
@@ -927,6 +934,8 @@ sub get_patch_subject {
} elsif ($annotate) {
  	do_edit(@files);
+} elsif ($compose_cover) {
+	do_edit($files[0]);
  }
sub term {

--
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux