chiark / gitweb /
remote etc. - improve and fix some messages
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 186b19e688df8e457bb6f9a99c9bd35b5dffda7e..0b177d36fe3f518e4df791dc2dda3d5d0e8ae83f 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -120,7 +120,9 @@ our $debugprefix = '';
 
 sub printdebug { print DEBUG $debugprefix, @_ or die $!; }
 
-sub fail { die "$us: @_\n"; }
+sub fail { 
+    die $us.($we_are_responder ? " (build host)" : "").": @_\n";
+}
 
 sub badcfg { print STDERR "$us: invalid configuration: @_\n"; exit 12; }
 
@@ -225,6 +227,7 @@ sub protocol_read_bytes ($$) {
 
 sub protocol_receive_file ($$) {
     my ($fh, $ourfn) = @_;
+    printdebug "() $ourfn\n";
     open PF, ">", $ourfn or die "$ourfn: $!";
     for (;;) {
        my ($y,$l) = protocol_expect {
@@ -237,7 +240,6 @@ sub protocol_receive_file ($$) {
        print PF $d or die $!;
     }
     close PF or die $!;
-    printdebug "() $ourfn\n";
 }
 
 #---------- remote protocol support, responder ----------
@@ -1129,13 +1131,13 @@ sub push_parse_dsc ($$$) {
     my $dversion = getfield $dsc, 'Version';
     my $dscpackage = getfield $dsc, 'Source';
     ($dscpackage eq $package && $dversion eq $cversion) or
-       fail "$dsc is for $dscpackage $dversion".
+       fail "$dscfn is for $dscpackage $dversion".
            " but debian/changelog is for $package $cversion";
 }
 
-sub push_mktag ($$$$$$$$) {
+sub push_mktag ($$$$$$$) {
     my ($head,$clogp,$tag,
-       $dsc,$dscfn,
+       $dscfn,
        $changesfile,$changesfilewhat,
        $tfn) = @_;
 
@@ -1262,13 +1264,14 @@ sub dopush () {
     }
 
     responder_send_file('changes',$changesfile);
+    responder_send_command("param head $head");
 
     my $tfn = sub { ".git/dgit/tag$_[0]"; };
     my ($tagobjfn) =
        $we_are_responder
        ? responder_receive_files('signed-tag', $tfn->('.signed.tmp'))
        : push_mktag($head,$clogp,$tag,
-                    $dsc,"../$dscfn",
+                    "../$dscfn",
                     $changesfile,$changesfile,
                                 $tfn);
 
@@ -1527,8 +1530,8 @@ sub i_resp_file ($) {
 
 our %i_param;
 
-sub i_param ($) {
-    $_[0] =~ m/^(\S+) (.*)$/;
+sub i_resp_param ($) {
+    $_[0] =~ m/^(\S+) (.*)$/ or badproto \*RO, "bad param spec";
     $i_param{$1} = $2;
 }
 
@@ -1557,6 +1560,7 @@ sub i_localname_dsc {
 }
 
 sub i_want_signed_tag {
+    printdebug Dumper(\%i_param, $i_dscfn);
     defined $i_param{'head'} && defined $i_dscfn
        or badproto \*RO, "sequencing error";
     my $head = $i_param{'head'};
@@ -1565,7 +1569,7 @@ sub i_want_signed_tag {
     push_parse_dsc $i_dscfn, 'remote dsc', 
 
     push_mktag $head, $i_clogp, $i_tag,
-        $dsc, $i_dscfn,
+        $i_dscfn,
         'remote.changes', 'remote changes',
         'tag.tag';