summaryrefslogtreecommitdiff
path: root/dgit
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2013-08-20 19:42:40 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2013-08-20 19:42:40 +0100
commit560d99cc2e266f95e39069e3b1e9fb45dbecea57 (patch)
tree44a64d1554b2f41e5b1a0c86b4193aacd954bd4d /dgit
parentcf7545b7a4f3a074041535dd9578c86ba4c0f1e1 (diff)
Usage message. Closes #720085.
Diffstat (limited to 'dgit')
-rwxr-xr-xdgit28
1 files changed, 27 insertions, 1 deletions
diff --git a/dgit b/dgit
index 4ba102a..396cc4d 100755
--- a/dgit
+++ b/dgit
@@ -146,6 +146,25 @@ sub runcmd_ordryrun {
}
}
+our $helpmsg = <<END;
+main usages:
+ dgit [dgit-opts] clone [dgit-opts] package [suite] [./dir|/dir]
+ dgit [dgit-opts] fetch|pull [dgit-opts] [suite]
+ dgit [dgit-opts] build [git-buildpackage-opts|dpkg-buildpackage-opts]
+ dgit [dgit-opts] push [dgit-opts] [suite]
+important dgit options:
+ -k<keyid> sign tag and package with <keyid> instead of default
+ --dry-run -n do not change anything, but go through the motions
+ --new -N allow introducing a new package
+ --debug -D increase debug level
+ -c<name>=<value> set git config option (used directly by dgit too)
+END
+
+sub helponly () {
+ print $helpmsg or die $!;
+ exit 0;
+}
+
our %defcfg = ('dgit.default.distro' => 'debian',
'dgit.default.username' => '',
'dgit.default.archive-query-default-component' => 'main',
@@ -812,6 +831,8 @@ sub parseopts () {
$dryrun=1;
} elsif (m/^--no-sign$/) {
$sign=0;
+ } elsif (m/^--help$/) {
+ helponly();
} elsif (m/^--new$/) {
$new_package=1;
} elsif (m/^--(\w+)=(.*)/s && ($om = $opts_opt_map{$1})) {
@@ -827,6 +848,8 @@ sub parseopts () {
while (m/^-./s) {
if (s/^-n/-/) {
$dryrun=1;
+ } elsif (s/^-h/-/) {
+ helponly();
} elsif (s/^-D/-/) {
open DEBUG, ">&STDERR" or die $!;
$debug++;
@@ -848,7 +871,10 @@ sub parseopts () {
parseopts();
print STDERR "DRY RUN ONLY\n" if $dryrun;
-die unless @ARGV;
+if (!@ARGV) {
+ print STDERR $helpmsg or die $!;
+ exit 8;
+}
my $cmd = shift @ARGV;
$cmd =~ y/-/_/;
{ no strict qw(refs); &{"cmd_$cmd"}(); }