diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-11-07 02:26:44 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-11-07 02:26:44 +0100 |
commit | 00f372e2a419266fc9a41cb7b7935c9217e05ca7 (patch) | |
tree | 873c5a9e5c012207d17fbe304596d46eee2d5002 /git-send-email.perl | |
parent | Merge branch 'rs/reflog-expire-single-worktree-fix' (diff) | |
parent | send-email: move validation code below process_address_list (diff) | |
download | git-00f372e2a419266fc9a41cb7b7935c9217e05ca7.tar.xz git-00f372e2a419266fc9a41cb7b7935c9217e05ca7.zip |
Merge branch 'ms/send-email-validate-fix'
"git send-email" did not have certain pieces of data computed yet
when it tried to validate the outging messages and its recipient
addresses, which has been sorted out.
* ms/send-email-validate-fix:
send-email: move validation code below process_address_list
Diffstat (limited to 'git-send-email.perl')
-rwxr-xr-x | git-send-email.perl | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/git-send-email.perl b/git-send-email.perl index 9e21b0b3f4..cacdbd6bb2 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -799,30 +799,6 @@ $sender = sanitize_address($sender); $time = time - scalar $#files; -if ($validate) { - # FIFOs can only be read once, exclude them from validation. - my @real_files = (); - foreach my $f (@files) { - unless (-p $f) { - push(@real_files, $f); - } - } - - # Run the loop once again to avoid gaps in the counter due to FIFO - # arguments provided by the user. - my $num = 1; - my $num_files = scalar @real_files; - $ENV{GIT_SENDEMAIL_FILE_TOTAL} = "$num_files"; - foreach my $r (@real_files) { - $ENV{GIT_SENDEMAIL_FILE_COUNTER} = "$num"; - pre_process_file($r, 1); - validate_patch($r, $target_xfer_encoding); - $num += 1; - } - delete $ENV{GIT_SENDEMAIL_FILE_COUNTER}; - delete $ENV{GIT_SENDEMAIL_FILE_TOTAL}; -} - @files = handle_backup_files(@files); if (@files) { @@ -1726,10 +1702,6 @@ EOF return 1; } -$in_reply_to = $initial_in_reply_to; -$references = $initial_in_reply_to || ''; -$message_num = 0; - sub pre_process_file { my ($t, $quiet) = @_; @@ -1995,6 +1967,38 @@ sub process_file { return 1; } +sub initialize_modified_loop_vars { + $in_reply_to = $initial_in_reply_to; + $references = $initial_in_reply_to || ''; + $message_num = 0; +} + +if ($validate) { + # FIFOs can only be read once, exclude them from validation. + my @real_files = (); + foreach my $f (@files) { + unless (-p $f) { + push(@real_files, $f); + } + } + + # Run the loop once again to avoid gaps in the counter due to FIFO + # arguments provided by the user. + my $num = 1; + my $num_files = scalar @real_files; + $ENV{GIT_SENDEMAIL_FILE_TOTAL} = "$num_files"; + initialize_modified_loop_vars(); + foreach my $r (@real_files) { + $ENV{GIT_SENDEMAIL_FILE_COUNTER} = "$num"; + pre_process_file($r, 1); + validate_patch($r, $target_xfer_encoding); + $num += 1; + } + delete $ENV{GIT_SENDEMAIL_FILE_COUNTER}; + delete $ENV{GIT_SENDEMAIL_FILE_TOTAL}; +} + +initialize_modified_loop_vars(); foreach my $t (@files) { while (!process_file($t)) { # user edited the file |