Re: git send-email Connection Closed

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

 



On 2015-07-24 14:59, Stefan Agner wrote:
> Hi Juston,
> 
> On 2015-07-15 07:11, Juston Li wrote:
>> Recently, I have had trouble using git send-email to send a patchset.
>> After the confirmation to send the email I get the following:
>> Send this email? ([y]es|[n]o|[q]uit|[a]ll): y
>> [Net::SMTP::SSL] Connection closed at /usr/lib/git-core/git-send-email
>> line 1320.
>> fatal: 'send-email' appears to be a git command, but we were not
>> able to execute it. Maybe git-send-email is broken?
>>
>> This message first appeared when I tried to send a 19 commit patchset
>> via 'git send-email HEAD~19'. It also fails when I try to format-patch
>> and send the patchset separately via 'git send-email 0001...'
>> Oddly enough, it works when I send anything other than 19 commits
>> for example 'git send-email HEAD~1' or 'git send-email HEAD~20'
> 
> Just got a similar message here, without the fatal part, just:
> [Net::SMTP::SSL] Connection closed at /usr/lib/git-core/git-send-email
> line 1320.
> 
> It seems that only one patch is causing the problem (in my case the
> first after the cover letter). I use TLS too and send it over a postfix
> SMTP server I maintain myself. The postfix log shows this:
> 
> postfix/smtpd[8535]: lost connection after DATA (16357 bytes) from
> unknown[x.y.z.z]
> postfix/smtpd[8535]: disconnect from unknown[x.y.z.z]
> 
> So it seems that the client side disconnects?
> 
> I rerun the command with --smtp-debug=1
> 
> ...
> Net::SMTP::SSL=GLOB(0x1fb3558)>>> +MODULE_LICENSE("GPL");
> Net::SMTP::SSL=GLOB(0x1fb3558)>>> -- 
> Net::SMTP::SSL=GLOB(0x1fb3558)>>> 2.4.5
> Net::SMTP::SSL: Net::Cmd::datasend(): unexpected EOF on command channel:
>  at /usr/lib/git-core/git-send-email line 1320.
> [Net::SMTP::SSL] Connection closed at /usr/lib/git-core/git-send-email
> line 1320.
> 
> It seems to me that there is a size limit, after cutting down the patch
> to ~16K, sending started to work. I cut it twice, once by removing lines
> from the head and once from the bottom, in both cases at the size of
> around 16K I could send the patch.

I found a work-around by using datasend line by line, which did the job
for me:

Altering /usr/lib/git-core/git-send-email, around line 1320:

                $smtp->datasend("$header\n") or die $smtp->message;
                my @lines = split /^/, $message;
                foreach my $line (@lines) {
                        $smtp->datasend("$line") or die $smtp->message;
                }

--
Stefan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.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]