diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-01-26 19:09:43 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2014-03-05 18:29:05 +0000 |
commit | ae113bf6b8494b60a7653c591c4719aea6ff9e4f (patch) | |
tree | 8fb31ed4fea434fde69637d4f6e85bcf598acf51 | |
parent | 397c47973c3f1fb2dbbbfc4fff1d2d88c8df711d (diff) |
Include canonicalised suite name in signed tag message.
-rw-r--r-- | debian/changelog | 7 | ||||
-rwxr-xr-x | dgit | 8 | ||||
-rwxr-xr-x | dgit-repos-server | 3 |
3 files changed, 14 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog index 75fb81e..37c8ea1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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. -- @@ -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 = diff --git a/dgit-repos-server b/dgit-repos-server index eb59edc..5e83fc5 100755 --- a/dgit-repos-server +++ b/dgit-repos-server @@ -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; |