chiark / gitweb /
Convert to defvalopt: -C
[dgit.git] / dgit
diff --git a/dgit b/dgit
index d4193ccd2e8d8df7da4d5c5460a57ea45176ca24..6f4565bf017314d7ef109a22886445a628f67783 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -3122,11 +3122,28 @@ sub defvalopt ($$$$) {
     # or $how can be a scalar ref, meaning simply assign the value
 }
 
     # or $how can be a scalar ref, meaning simply assign the value
 }
 
-defvalopt '--since-version', '-v', '[^_]+|_', sub {
-    ($changes_since_version) = @_;
+defvalopt '--since-version', '-v', '[^_]+|_', \$changes_since_version;
+defvalopt '--distro',        '-d', '.+',      \$idistro;
+defvalopt '--existing-package','', '.*',      \$existing_package;
+defvalopt '--build-products-dir','','.*',     \$buildproductsdir;
+defvalopt '--clean',       '', $cleanmode_re, \$cleanmode;
+defvalopt '--quilt',     '', $quilt_modes_re, \$quilt_mode;
+
+defvalopt '', '-c', '.*=.*', sub { push @git, '-c', @_; };
+
+defvalopt '', '-C', '.+', sub {
+    ($changesfile) = (@_);
+    if ($changesfile =~ s#^(.*)/##) {
+       $buildproductsdir = $1;
+    }
+};
+
+defvalopt '--initiator-tempdir','','.*', sub {
+    ($initiator_tempdir) = (@_);
+    $initiator_tempdir =~ m#^/# or
+       badusage "--initiator-tempdir must be used specify an".
+       " absolute, not relative, directory."
 };
 };
-defvalopt '--distro', '-d', '.+', sub { ($idistro) = (@_); };
-defvalopt '--existing-package', '', '.*', sub { ($existing_package) = (@_); };
 
 sub parseopts () {
     my $om;
 
 sub parseopts () {
     my $om;
@@ -3189,24 +3206,6 @@ sub parseopts () {
                     ($om = $opts_opt_map{$1})) {
                push @ropts, $_;
                push @$om, $2;
                     ($om = $opts_opt_map{$1})) {
                push @ropts, $_;
                push @$om, $2;
-           } elsif (m/^--initiator-tempdir=(.*)/s) {
-               $initiator_tempdir = $1;
-               $initiator_tempdir =~ m#^/# or
-                   badusage "--initiator-tempdir must be used specify an".
-                       " absolute, not relative, directory."
-           } elsif (m/^--build-products-dir=(.*)/s) {
-               push @ropts, $_;
-               $buildproductsdir = $1;
-           } elsif (m/^--clean=($cleanmode_re)$/os) {
-               push @ropts, $_;
-               $cleanmode = $1;
-           } elsif (m/^--clean=(.*)$/s) {
-               badusage "unknown cleaning mode \`$1'";
-           } elsif (m/^--quilt=($quilt_modes_re)$/s) {
-               push @ropts, $_;
-               $quilt_mode = $1;
-           } elsif (m/^--quilt=(.*)$/s) {
-               badusage "unknown quilt fixup mode \`$1'";
            } elsif (m/^--ignore-dirty$/s) {
                push @ropts, $_;
                $ignoredirty = 1;
            } elsif (m/^--ignore-dirty$/s) {
                push @ropts, $_;
                $ignoredirty = 1;
@@ -3246,15 +3245,6 @@ sub parseopts () {
                    push @ropts, $&;
                    push @changesopts, $_;
                    $_ = '';
                    push @ropts, $&;
                    push @changesopts, $_;
                    $_ = '';
-               } elsif (s/^-c(.*=.*)//s) {
-                   push @ropts, $&;
-                   push @git, '-c', $1;
-               } elsif (s/^-C(.+)//s) {
-                   push @ropts, $&;
-                   $changesfile = $1;
-                   if ($changesfile =~ s#^(.*)/##) {
-                       $buildproductsdir = $1;
-                   }
                } elsif (s/^-k(.+)//s) {
                    $keyid=$1;
                } elsif (m/^-[dCk]$/) {
                } elsif (s/^-k(.+)//s) {
                    $keyid=$1;
                } elsif (m/^-[dCk]$/) {