chiark / gitweb /
dgit: Provide --program!:option
[dgit.git] / dgit
diff --git a/dgit b/dgit
index c62d1cc1e031c6e1177e84df7e5009e8d5ea3453..a5f93145f8ebea94d948fad55cbef5da6e2e19d3 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -7192,6 +7192,12 @@ sub parseopts () {
                     ($om = $opts_opt_map{$1})) {
                push @ropts, $_;
                push @$om, $2;
+           } elsif (m/^--([-0-9a-z]+)\!:(.*)/s &&
+                    !$opts_opt_cmdonly{$1} &&
+                    ($om = $opts_opt_map{$1})) {
+               push @ropts, $_;
+               my $cmd = shift @$om;
+               @$om = ($cmd, grep { $_ ne $2 } @$om);
            } elsif (m/^--(gbp|dpm)$/s) {
                push @ropts, "--quilt=$1";
                $quilt_mode = $1;