Problem with send-email
Does anyone actually use git-send-email? It's been so broken for me for months that I can't help but think that.
Problem #1:
I don't know Perl, but I think there's something wrong with this code:
if (!defined $from) {
$from = $author || $committer;
print "$from\n";
do {
$_ = $term->readline("Who should the emails appear to be from? ",
$from);
} while (!defined $_);
$from = $_;
print "Emails will be sent from: ", $from, "\n";
$prompting++;
}I don't think the call to readline() is working. Specifically, the last parameter, $from, is being ignored. When I call git-send-email without specifying a --from parameter, this code is executed. But this is what I see:
Timur Tabi <[email protected]>
Who should the emails appear to be from?
Emails will be sent from:
This happens when I press ENTER at the "Who should the emails appear to be from?" prompt. I'm expecting it to assign the default value, which is displayed right above it. But instead, $from is erased, and so my email doesn't have a From: line.
Problem #2:
I cannot use send-email to send a patch to anyone but myself. If I do this:
git-send-email --from [email protected] --to [email protected] --smtp-server remotesmtp.freescale.net patchfile
Everything works. However, if I do this:
git-send-email --from [email protected] --to --smtp-server remotesmtp.freescale.net patchfile
I get this:
(mbox) Adding cc: Timur Tabi <[email protected]> from line 'From: Timur Tabi <[email protected]>' (sob) Adding cc: Timur Tabi <[email protected]> from line 'Signed-off-by: Timur Tabi <[email protected]>' 5.0.0 <Timur Tabi <[email protected]>... Unbalanced '<'
I think that last line is a response from the SMTP server. My guess is that there's something wrong with this line:
print $sm "$header\n$message";
Maybe my SMTP server sees the "From: Timur Tabi <[email protected]>" that's at the top of $message and gets confused?
Signature · 2 lines
Timur Tabi Linux Kernel Developer @ Freescale
Quoted 5 lines · Timur Tabi
Everything works. However, if I do this:
git-send-email --from [email protected] --to \
--smtp-server remotesmtp.freescale.net patchfile
What do you expect when you specify _empty_ To: header?
I use git-send-email from time to time; I always specify From:, either entering it when prompted, or using --from parameter. The fact that it didn't fill default value from committer/author core.author+core.email is I guess a bug...
Signature · 3 lines
Jakub Narebski Warsaw, Poland ShadeHawk on #git
Quoted 9 lines · Jakub Narebski
Quoted 5 lines · Timur Tabi
Everything works. However, if I do this:
git-send-email --from [email protected] --to \
--smtp-server remotesmtp.freescale.net patchfileWhat do you expect when you specify _empty_ To: header?
Sorry, that was a bad cut-and-paste. I don't know what happened. That line is supposed to read:
git-send-email --from [email protected] --to [email protected] --smtp-server remotesmtp.freescale.net patchfile
The error message I get is the same:
(mbox) Adding cc: Timur Tabi <[email protected]> from line 'From: Timur Tabi <[email protected]>' (sob) Adding cc: Timur Tabi <[email protected]> from line 'Signed-off-by: Timur Tabi <[email protected]> '
5.0.0 <Timur Tabi <[email protected]>... Unbalanced '<'
I do have some news. This problem goes away if I don't specify the --smtp-server parameter.
Quoted 4 lines
I use git-send-email from time to time; I always specify From:, either entering it when prompted, or using --from parameter. The fact that it didn't fill default value from committer/author
core.author+core.email is I guess a bug...
Like I said, I think the bug is in the call to readline(). Like I said, I don't know Perl, but from the documentation I have read, I don't think readline() takes two parameters.
do {
$_ = $term->readline("Who should the emails appear to be from? ",
$from);
} while (!defined $_);
$from = $_;$from does contain the correct value when readline() is called. The problem is that $_ contains nothing, which causes $from to be erased.
Signature · 2 lines
Timur Tabi Linux Kernel Developer @ Freescale