chiark / gitweb /
dgit-repos-server: tag2upload: Check changelog info
[dgit.git] / infra / dgit-repos-server
index f5767aefdeb0fe2f2ee9b24ba74dbdf806bff6e0..d8dc8574bd2157a4a5d4b4e7e53984448ad1ebcf 100755 (executable)
@@ -1252,6 +1252,16 @@ END
 
     runcmd qw(git checkout -q), "refs/tags/$tagval";
 
+    my $clogp = parsechangelog();
+    my $clogf = sub {
+       my ($f, $exp) = @_;
+       my $got = getfield $clogp, $f;
+       return if $got eq $exp;
+       reject "mismatch: changelog $f $got != $exp";
+    };
+    $clogf->('Version', $version);
+    $clogf->('Source',  $package);
+
     @fetch = (@dgit, qw(fetch), $suite);
     debugcmd "+",@_;
     $!=0; $?=-1;
@@ -1260,7 +1270,9 @@ END
     }
     # this is just to get the orig, so we don't really care about the ref
     if (defined $upstreamc) {
-       $upstreamc eq git_rev_parse "refs/tags/$upstreamt" or die;
+       my $need_upstreamc = git_rev_parse "refs/tags/$upstreamt";
+       $upstreamc eq $need_upstreamc or reject
+           "upstream-commitish=$upstreamc but tag refers to $need_upstreamc";
        runcmd qw(git deborig), "$upstreamc";
     }