diff options
authorIan Jackson <>2017-01-13 13:50:15 +0000
committerIan Jackson <>2017-01-13 18:32:23 +0000
commit6516b26b1e24241f879b9bde6533d1c8a384c803 (patch)
parent94aff6a7288630849c0aaebe2a55ae7a68fe1932 (diff)
dgit: Option parsing: Fix undefined $suite in some import-dsc.
* Set $isuite to a dummy value. In import-dsc we aren't operating on a suite. We have to set it to something (because the config likes to look at the suite) and this avoids picking up information relating to the default suite. * Set $idistro (if -d not supplied) to the distro from (or implied by) the .dsc. This is needed so that we do not use any config from the default distro. In particular, the default commands (like what `git' command to use to access the dgit git server) need to be found via the dsc's distro's cmd-git setting, and this is done by parseopts_late_defaults() in pushing(). So we must set $idistro before then. * Move notpushing earlier, so that we call it before we call resolve_dsc_field_commit(). (It doesn't matter there for $idistro, because it sets that itself, but the git command does.) Closes:#851213. Signed-off-by: Ian Jackson <>
2 files changed, 7 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 4d0b59a..04328fe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ dgit (3.3~) unstable; urgency=medium
* dgit: Remove a leftover debugging print.
* dgit: Set default dsc import distro when there is no Dgit field.
* dgit: Set default dsc import distro when suppressing Dgit field.
+ * dgit: Option parsing: Fix undefined $suite in some import-dsc.
+ Closes:#851213.
* Remove redundant Recommends on libtext-iconv-perl.
diff --git a/dgit b/dgit
index f4a470d..4b088db 100755
--- a/dgit
+++ b/dgit
@@ -6119,6 +6119,11 @@ sub cmd_import_dsc {
unless forceing [qw(import-dsc-with-dgit-field)];
+ $isuite = 'DGIT-IMPORT-DSC';
+ $idistro //= $dsc_distro;
+ notpushing();
if (defined $dsc_hash) {
progress "dgit: import-dsc of .dsc with Dgit field, using git hash";
resolve_dsc_field_commit undef, undef;
@@ -6155,8 +6160,6 @@ Specify +$specbranch to overwrite, discarding existing history
if $oldhash && !$force;
- notpushing();
my @dfi = dsc_files_info();
foreach my $fi (@dfi) {
my $f = $fi->{Filename};