chiark / gitweb /
dgit-repos-server: Prepare for modes which take arguments
[dgit.git] / infra / dgit-repos-server
index 7c7262f50fce372dcfaf89c763fa3a223f04a9d7..2fa9090a26883a44b24ebc61eb620c571b0a161d 100755 (executable)
@@ -847,12 +847,16 @@ sub tagh1 ($) {
     return $vals->[0];
 }
 
-sub checks () {
+sub basic_tag_checks() {
     printdebug "checks\n";
 
     tagh1('type') eq 'commit' or reject "tag refers to wrong kind of object";
     tagh1('object') eq $commit or reject "tag refers to wrong commit";
     tagh1('tag') eq $tagname or reject "tag name in tag is wrong";
+}
+
+sub checks () {
+    basic_tag_checks();
 
     my @expecttagnames = debiantags($version, $distro);
     printdebug "expected tag @expecttagnames\n";
@@ -1151,7 +1155,7 @@ sub parseargsdispatch () {
 
     $ENV{"DGIT_DRS_\U$_"} = ${ $main::{$_} } foreach @hookenvs;
 
-    die unless @ARGV==1;
+    die unless @ARGV>=1;
 
     my $mode = shift @ARGV;
     die unless $mode =~ m/^--(\w+)$/;