summaryrefslogtreecommitdiff
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
parentcf7545b7a4f3a074041535dd9578c86ba4c0f1e1 (diff)
Usage message. Closes #720085.
-rw-r--r--debian/changelog1
-rwxr-xr-xdgit28
-rw-r--r--dgit.13
3 files changed, 31 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index f40ba5a..1e6ac24 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
dgit (0.4) experimental; urgency=low
* Use dgit.debian.net vhost on alioth. Closes #720172.
+ * Usage message. Closes #720085.
* Assorted manpage fixes.
--
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"}(); }
diff --git a/dgit.1 b/dgit.1
index a62121c..31cfa5a 100644
--- a/dgit.1
+++ b/dgit.1
@@ -246,6 +246,9 @@ package we are trying to push. But with --new that will not work, so
we guess
.B dpkg
or use the value of this option.
+.TP
+.BR -h | --help
+Print a usage summary.
.SH SEE ALSO
\fBdget\fP(1),
\fBdput\fP(1),