X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=dgit;h=eb6f01de3deecef20da7707daf375e0f3d1015b8;hp=b551eacd1e9c7a6fa73d49a612b72e1e088efc13;hb=4d1ab9278a03c2d00dd31ae150f9f77bfe581f18;hpb=20d213b07642bab55c3727532696623cb74ecee6 diff --git a/dgit b/dgit index b551eacd..eb6f01de 100755 --- a/dgit +++ b/dgit @@ -1406,7 +1406,34 @@ sub cmd_rpush { }; i_cleanup(); die $@; +} + +sub i_resp_progress ($) { + my ($rhs) = @_; + my $msg = protocol_read_bytes \*RO, $rhs; + progress $msg; +} + +sub i_resp_complete { + i_cleanup(); + exit 0; +} + +sub i_resp_file ($) { + my ($keyword) = @_; + my $localname = i_method "i_localname_", $keyword; + my $localpath = "$i_tmp/$localname"; + stat $localpath and badproto \*RO, "file $keyword ($localpath) twice"; + protocol_receive_file \*RO, $localpath; +} + +sub i_resp_want ($) { + my ($keyword) = @_; + my @localpaths = i_method "i_want_", $keyword; + foreach my $localpath (@localpaths) { + protocol_send_file \*RI, $localpath; } + print RI "end-files\n" or die $!; } #---------- building etc. ----------