}
}
+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',
'dgit.default.ssh' => 'ssh',
- 'dgit-distro.debian.git-host' => 'git.debian.org',
+ 'dgit-distro.debian.git-host' => 'dgit.debian.net',
'dgit-distro.debian.git-proto' => 'git+ssh://',
'dgit-distro.debian.git-path' => '/git/dgit-repos',
'dgit-distro.debian.git-check' => 'ssh-cmd',
my $clogp = parsechangelog();
$isuite = $clogp->{Distribution};
$package = $clogp->{Source};
- canonicalise_suite() unless grep { m/^--git-debian-branch/ } @ARGV;
- runcmd_ordryrun
- qw(git-buildpackage -us -uc --git-no-sign-tags),
- '--git-builder=dpkg-buildpackage -i\.git/ -I.git',
- "--git-debian-branch=".lbranch(),
- @ARGV;
+ my @cmd =
+ (qw(git-buildpackage -us -uc --git-no-sign-tags),
+ '--git-builder=dpkg-buildpackage -i\.git/ -I.git');
+ unless (grep { m/^--git-debian-branch/ } @ARGV) {
+ canonicalise_suite();
+ push @cmd, "--git-debian-branch=".lbranch();
+ }
+ runcmd_ordryrun @cmd, @ARGV;
}
sub cmd_quilt_fixup {
$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})) {
while (m/^-./s) {
if (s/^-n/-/) {
$dryrun=1;
+ } elsif (s/^-h/-/) {
+ helponly();
} elsif (s/^-D/-/) {
open DEBUG, ">&STDERR" or die $!;
$debug++;
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"}(); }