git clone silently aborts if stdout gets a broken pipe

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

 



One of our Perl scripts that does a git clone suddenly 
started to fail when I upgraded to git 1.8.4 from 1.8.3.1.

The failing Perl code used a construct like this:

	Git::command_oneline('clone', $url, $path);

There is no error raised, but the directory specified by 
$path is not created. If I look at the process using strace 
I can see the clone taking place, but then it seems to get 
a broken pipe since the code above only cares about the 
first line from stdout (and with the addition of "Checking 
connectivity..." git clone now outputs two lines to stdout).

If I change the code to:

	my @foo = Git::command('clone', $url, $path);

it works as expected.

I have attached a simple Perl script that shows the problem.
Run it as "clone_test.pl <git url>". With git 1.8.4 it will 
fail for the first two test cases, whereas with older git 
versions it succeeds for all four test cases.

I hope this is enough information for someone to look into 
this regression.

Best regards,
//Peter

Attachment: clone_test.pl
Description: clone_test.pl


[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]