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

[PATCH v5 2/3] send-email: make it easy to discern the messages for each patch

From
DSDragan Simic <dsimic@manjaro.org>
Date
Apr 7, 2024, 10:48 UTC
Message-ID
<7f87383089011a98b0347d885b3b9d76cfddb91d.1712486910.git.dsimic@manjaro.org>
In-Reply-To
<cover.1712486910.git.dsimic@manjaro.org>

When sending multiple patches at once, without prompting the user to confirm the sending of each patch separately, the displayed result statuses for each patch become bunched together with the messages produced for the subsequent patch. This unnecessarily makes discerning each of the result statuses a bit difficult, as visible in the sample output excerpt below:

    ...
    MIME-Version: 1.0
    Content-Transfer-Encoding: 8bit
    Result: 250
    OK. Log says:
    ...

As visible in the excerpt above, bunching the "Result: <status-code>" lines together with the messages produced for the subsequent patch makes the output unreadable, which actually becomes worse as the number of patches sent at once increases. To make the produced outputs more readable, add vertical whitespace (more precisely, a newline) between the displayed result statuses and the subsequent messages, as visible in the sample output excerpt below, produced after the addition of vertical whitespace:

    ...
    MIME-Version: 1.0
    Content-Transfer-Encoding: 8bit
    Result: 250
    OK. Log says:
    ...

These changes don't emit additional vertical whitespace after the result status produced for the last processed patch, i.e. the vertical whitespace is treated as a separator between the groups of produced messages, not as their terminator. This follows the Git's general approach of not wasting the vertical screen space whenever reasonably possible.

While there, remove a couple of spotted stray newlines in the source code and convert one indentation from spaces to tabs, for consistency.

The associated test, t9001, requires no updates to cover these changes.
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Dragan Simic <dsimic@manjaro.org>
---
 git-send-email.perl | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index a22f299ba051..4127fbe6b936 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -212,6 +212,7 @@ sub format_2822_time {
 my $compose_filename;
 my $force = 0;
 my $dump_aliases = 0;
+my $needs_separator = 0;
 
 # Variables to prevent short format-patch options from being captured
 # as abbreviated send-email options
@@ -1361,7 +1362,6 @@ sub smtp_host_string {
 
 # Returns 1 if authentication succeeded or was not necessary
 # (smtp_user was not specified), and 0 otherwise.
-
 sub smtp_auth_maybe {
 	if (!defined $smtp_authuser || $auth || (defined $smtp_auth && $smtp_auth eq "none")) {
 		return 1;
@@ -1554,7 +1554,10 @@ sub send_message {
 			exit(0);
 		} elsif (/^a/i) {
 			$confirm = 'never';
+			$needs_separator = 1;
 		}
+	} else {
+		$needs_separator = 1;
 	}
 
 	unshift (@sendmail_parameters, @smtp_server_options);
@@ -1576,7 +1579,6 @@ sub send_message {
 		print $sm "$header\n$message";
 		close $sm or die $!;
 	} else {
-
 		if (!defined $smtp_server) {
 			die __("The required SMTP server is not properly defined.")
 		}
@@ -1921,7 +1923,8 @@ sub pre_process_file {
 sub process_file {
 	my ($t) = @_;
 
-        pre_process_file($t, $quiet);
+	pre_process_file($t, $quiet);
+	print "\n" if ($needs_separator);
 
 	my $message_was_sent = send_message();
 	if ($message_was_sent == -1) {
Previous: Dragan SimicNext: Junio C Hamano
Message 3 of 10 in “send-email: make produced outputs more readable”
  1. 0/3 send-email: make produced outputs more readableDragan Simic, Apr 7, 2024
  2. 1/3 send-email: move newline character out of a translatable stringDragan Simic, Apr 7, 2024
  3. 2/3 send-email: make it easy to discern the messages for each patchDragan Simic, Apr 7, 2024
  4. Junio C HamanoApr 8, 2024
  5. Dragan SimicApr 9, 2024
  6. 3/3 send-email: separate the confirmation prompts from the messagesDragan Simic, Apr 7, 2024
  7. Junio C HamanoApr 8, 2024
  8. Dragan SimicApr 9, 2024
  9. Dragan SimicApr 10, 2024
  10. Dragan SimicApr 10, 2024

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.