chiark / gitweb /
tests: drs-push-rejects: some failure cases; generate tags in script
[dgit.git] / dgit-repos-server
index 57cb5be11d2d07d5a26e6c01ed299e9ed71e136a..6170b69b022b0d96de3da6265329069fa665472f 100755 (executable)
@@ -330,7 +330,7 @@ sub parsetag () {
 
     for (;;) {
        print PT or die $!;
-       $!=0; $_=<T>; defined or die $!;
+       $!=0; $_=<T>; defined or die "missing signature? $!";
        last if m/^-----BEGIN PGP/;
     }
     for (;;) {
@@ -451,6 +451,14 @@ sub checksuite () {
     reject "unknown suite";
 }
 
+sub tagh1 ($) {
+    my ($tag) = @_;
+    my $vals = $tagh{$tag};
+    reject "missing tag $tag in signed tag object" unless $vals;
+    reject "multiple tags $tag in signed tag object" unless @$vals == 1;
+    return $vals->[0];
+}
+
 sub checks () {
     debug "checks";
     checksuite();
@@ -485,7 +493,6 @@ sub onwardpush () {
 
 sub stunthook () {
     debug "stunthook";
-    print Dumper(\$ENV{GIT_DIR});
     chdir $workrepo or die "chdir $workrepo: $!";
     mkdir "dgit-tmp" or $!==EEXIST or die $!;
     readupdates();