diff options
-rwxr-xr-x | dgit | 15 | ||||
-rw-r--r-- | dgit.1 | 7 |
2 files changed, 19 insertions, 3 deletions
@@ -432,6 +432,7 @@ sub pull () { sub dopush () { runcmd @git, qw(diff --quiet HEAD); my $clogp = parsechangelog(); + die if defined $package; $package = $clogp->{Source}; my $dscfn = "${package}_$clogp->{Version}.dsc"; stat "../$dscfn" or die "$dscfn $!"; @@ -488,6 +489,7 @@ sub dopush () { sub cmd_clone { my $dstdir; + die if defined $package; if (@ARGV==1) { ($package) = @ARGV; } elsif (@ARGV==2 && $ARGV[1] =~ m#^\w#) { @@ -514,11 +516,16 @@ sub branchsuite () { } sub fetchpullargs () { - my $clogp = parsechangelog(); - $package = $clogp->{Source}; + if (!defined $package) { + my $sourcep = parsecontrol('debian/control'); + $package = $sourcep->{Source}; + } if (@ARGV==0) { $suite = branchsuite(); - $suite ||= $clogp->{Distribution}; + if (!$suite) { + my $clogp = parsechangelog(); + $suite = $clogp->{Distribution}; + } canonicalise_suite(); print "fetching from suite $suite\n"; } elsif (@ARGV==1) { @@ -540,6 +547,7 @@ sub cmd_pull { } sub cmd_push { + die if defined $package; my $clogp = parsechangelog(); $package = $clogp->{Source}; if (@ARGV==0) { @@ -552,6 +560,7 @@ sub cmd_push { } sub cmd_build { + die if defined $package; my $clogp = parsechangelog(); $suite = $clogp->{Distribution}; $package = $clogp->{Source}; @@ -107,6 +107,13 @@ for signing the tag and the upload. .BR --no-sign does not sign tags or uploads (meaningful only with push). .TP +.TP +.BI -p package +Specifies that we should process source package +.I package +rather than looking in debian/control. Valid with dgit fetch +and dgit pull, only. +.TP .BI -D Spew debugging information to stderr. .TP |