git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
BDBen Dooks <ben.dooks@codethink.co.uk>
Date
Oct 12, 2023, 13:07 UTC
Message-ID
<21893610-73d8-4405-a7ea-823b750354fa@codethink.co.uk>
In-Reply-To
<20231012112743.2756259-1-ben.dooks@codethink.co.uk>
On 12/10/2023 12:27, Ben Dooks wrote:
Show 23 quoted lines
> 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@codethink.co.uk>
> ---
>   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.
Show 60 quoted lines
>   --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
Previous: Ben DooksNext: Kristoffer Haugsbakk
Message 2 of 5 in “send-email: add --compose-cover option”
  1. send-email: add --compose-cover optionBen Dooks, Oct 12, 2023
  2. Ben DooksOct 12, 2023
  3. Kristoffer HaugsbakkOct 12, 2023
  4. Junio C HamanoOct 12, 2023
  5. Kristoffer HaugsbakkOct 12, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.