chiark / gitweb /
Include canonicalised suite name in signed tag message.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 26 Jan 2014 19:09:43 +0000 (19:09 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 5 Mar 2014 18:29:05 +0000 (18:29 +0000)
debian/changelog
dgit
dgit-repos-server

index 75fb81e..37c8ea1 100644 (file)
@@ -1,13 +1,16 @@
 dgit (0.22~experimental1) experimental; urgency=low
 
-  * New git-check and git-create methods "true" which are no-ops.
   * Bring forward push of the version tag ref so it happens alongside
     the push of the suite branch ref.
+  * Include canonicalised suite name in signed tag message.
+
+  * New git-check and git-create methods "true" which are no-ops.
   * test-dummy-drs `distro': for testing dgit-repos-server.  WIP.
   * dgit-repos-server: WIP
+  * New script tests/using-intree for running tests on the source tree.
+
   * Switch to using dgit@git.debian.org (and dgit-repos-server) by
     default.
-  * New script tests/using-intree for running tests on the source tree.
 
  --
 
diff --git a/dgit b/dgit
index 50c45d7..2d2c0f1 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -52,6 +52,8 @@ our $initiator_tempdir;
 
 our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
 
+our $suite_re = '[-+.0-9a-z]+';
+
 our (@git) = qw(git);
 our (@dget) = qw(dget);
 our (@dput) = qw(dput);
@@ -1305,7 +1307,7 @@ type commit
 tag $tag
 tagger $authline
 
-$package release $cversion for $clogsuite [dgit]
+$package release $cversion for $clogsuite ($csuite) [dgit]
 END
     close TO or die $!;
 
@@ -1412,6 +1414,7 @@ sub dopush () {
 
     responder_send_file('changes',$changesfile);
     responder_send_command("param head $head");
+    responder_send_command("param csuite $csuite");
 
     my $tfn = sub { ".git/dgit/tag$_[0]"; };
     my $tagobjfn;
@@ -1724,10 +1727,13 @@ sub i_file_changes { }
 sub i_want_signed_tag {
     printdebug Dumper(\%i_param, $i_dscfn);
     defined $i_param{'head'} && defined $i_dscfn && defined $i_clogp
+       && defined $i_param{'csuite'}
        or badproto \*RO, "premature desire for signed-tag";
     my $head = $i_param{'head'};
     die if $head =~ m/[^0-9a-f]/ || $head !~ m/^../;
 
+    die unless $i_param{'csuite'} =~ m/^$suite_re$/;
+    $csuite = $&;
     push_parse_dsc $i_dscfn, 'remote dsc', $i_version;
 
     my $tagobjfn =
index eb59edc..5e83fc5 100755 (executable)
@@ -288,7 +288,8 @@ sub parsetag () {
        }
     }
     $!=0; $_=<T>; defined or die $!;
-    m/^($package_re) release (\S+) for (\S+) \[dgit\]$/ or die;
+    m/^($package_re) release (\S+) for (\S+) \[dgit\]$/ or
+       reject "tag message not in expected format";
 
     die unless $1 eq $package;
     $version = $2;